我眼中的功能测试

说起功能测试,想必大家都很熟悉,是测试中最基础的一部分,很多人都认为功能测试只是点点点毫无技术含量。门槛低,随便拉个人就能做测试。初中生就能干,企业何必招一个本科毕业的人。

实习时,我所在的公司只有功能测试和接口测试,我主要负责的是功能测试,接口测试直到离开公司时也没怎么测试。那时测试就是根据需求,编写测试用例,有时候测试用例的一些内容就是需求上的原话,然后就是所谓的看着测试用例不断地点点点,直至某个流程跑通。当时我就在想这么简单的操作,交给小学生都会,我甚至很怀疑这一行到底有没有技术含量,很怀疑自己的出路。当然,那时我也知道测试高级工程师也很厉害,只知道成为高级测试工程师很难,具体难在哪里不清楚。就那样我在边学边问边总结中结束了的实习生涯。

毕业后找的第一份工作还是只有功能测试和接口测试,当然自动化测试也有一点,日常工作仍是功能测试和接口测试。这个时候依然是写用例,点点点,偶尔也用数据库自己写写sql、出现问题时自己跟踪日志,找出问题报给开发,这样节省开发时间,方便问题被及时修复。做接口测试时前期可能会有一些疑问,不知道如何测试、不知道如何写用例、不知道如何设置参数、甚至不知道如何去执行,好在当时有人指导,不会的问题就可以问一些老人,他们也都很耐心的指导新人。同时网上有大量对于接口测试的文章,自己边学习变探索。总之这份工作相对实习时所学内容较多,开始对自己的工作多了一些认可,虽然有时也觉得开发很鄙视测试。

直到我在极客时间学习了茹炳胜老师的软件测试52讲中的第一讲:你真的懂测试吗?从“用户登录谈起”,茹老师给出了一般测试工程师设计的用例:

1、 输入已注册的用户名和正确的密码,验证是否登录成功;

2、 输入已注册的用户和不正确的密码,验证是否登录失败,并且提示信息正确;

3、 输入未注册的用户名和任意密码,验证是否登录失败,并且提示信息正确;

4、 用户名和密码两者都为空,验证是否登录失败,并且提示信息正确;

5、 用户名和密码两者之一为空,验证是否登录失败,并且提示信息正确;

6、 如果登录功能启用了验证码功能,在用户名和密码正确的前提下,输入正确的验证码,验证是否登录成功;

7、 如果登录功能启用了验证码功能,在用户名和密码正确的前提下,输入错误的验证码,验证是否登录失败,并且提示信息正确;

同时也给出了优秀的,有经验的测试人员设计的测试用例:

1、 用户名和密码是否大小写敏感;

2、 页面上的密码框是否加密显示;

3、 后台系统创建的用户第一次登录成功时,是否提示修改密码;

4、 忘记用户名和忘记密码的功能是否可用;

5、 前端页面是否根据设计要求限制用户名和密码长度;

6、 如果登录工程需要验证码,点击验证码图片是否可以更换验证码,更换后验证码后是否可用;

7、 刷新页面是否会刷新验证码;

8、 如果验证码具有时效性,需要分别验证时效内和实效外验证码的有效性;

9、 用户登录成功但是会话超时后,继续操作是否会重定向到用户登录界面;

10、 不同级别的用户,比如管理员用户和普通用户,登录系统后的权限是否相同;

11、 页面默认焦点是否定位在用户名的输入框中;

12、 快捷键Tab和Enter等,是否可以正常使用;

第一讲结束时我就很震撼,原来自己的思维这么局限,看似一个很简单的登录功能,里面蕴含的知识点很多很多,自己一直以来所认为的功能测试原来还能从更多的方面去测试,从而更加保证软件质量。一直以来自认为没技术含量,很简单的功能测试对于逻辑思维较强、知识面较广的人来进行测试还是和那些初中生、高中生有差别的。能把最基础最简单的事情做到极致才有资格说它简单、不然只局限于自己的认知很容易把自己带偏。

对于测试刚入行确实会觉得很简单,门槛低,但是只有自己深入了解了这一行,你会发现对于一个优秀的测试工程师要掌握的内容实在是太多、太宽泛,测试人员不仅要有硬技能(掌握开发语言、会写脚本、会搭建测试环境等)同时需要拥有软技能(学习能力、沟通能力等)。如果你想一直点点点,不思考、不学习,满足于现状,那么几年后有可能面临找不到工作的尴尬境界,毕竟初级的岗能够随时被别人取代。不要总认为开发鄙视测试,那只是自己不自信的表现而已。

你可能感兴趣的:(我眼中的功能测试)