文章试读:全程软件测试(第2版)
程序员文章站
2022-07-12 16:55:17
...
书名为《全程软件测试》,带给我的关键字是:①测试②全程。 这本书主要是阐述软件测试,并且描述了测试在整个软件开发过程中的位置,相对于狭义的测试, 广义上的软件测试贯穿整个软件开发流程。
我眼中的测试
我是一名开发人员,我眼中的测试工作是这样的:
- 单元测试 开发人员根据需求文档,详细设计文档完成功能代码开发任务后,自己书写单元测试用例并完成测试。
- 模块测试 对于新功能模块在上线之前需要进行功能测试,测试是否满足功能需求
- 系统测试 系统在发布之前,需要根据事先设计好的功能测试用例,逐一测试系统提供的功能点是否满足客户需求。软件是否存在比较明显的bug
- 回归测试 新版本发布之前,不仅要测试新上线的功能点,对之前上线功能点也需要逐一测试
- 压力测试 经常听到说要进行压力测试,至于压力测试方法就不知道了,主要是测试软件的临界值,并发量等等,在临界环境下测试系统的功能是否能正常运行。
片面的说测试就是找软件的bug的,是从逆向的角度找开发人员茬的一项工作。发现开发人员未考虑的点,或者有遗漏的地方并督促开发人员及早解决。
广义的测试
一般定义软件开发流程是:
1.需求分析
2.概要设计
3.详细设计
4.编码
5.测试
6.上线
7.维护
测试安排在开发之后,是一种被动式防御。发现bug,提交给开发修改。
我认为是软件测试的作用就为了及早的发现程序设计上的不足,促使开发人员及早的解决bug,促使及早的交付可运行且满足客户需求的软件。测试是检验软件的质量。
通过阅读《全程软件测试》的试读章节了解到,我了解到的测试是狭义上的测试。测试并不仅仅存在软件开发周期的中后段,而是贯穿全程的。从需求调研分析时开始,进行静态的软件测试,可以防止由于理解错误发生偏离用户真正需求的事情发生,从源头上及早的发现问题,提高开发效率,降低风险,可以大大减少软件开发维护成本。这也符合现在流行的CMMI管理体系。
软件测试除了包含以上我描述的功能性测试外,还包含非功能性的测试,例如性能,安全性,易用性,兼容性等等。
全程软件测试
作者在第二章中阐述了如何创建有效的需求测试计划,并且说明了在测试计划过程需要完成的工作。作者极力说明软件测试并不是形成软件测试说明书,而是一个过程,一个需要不断根据需求,目标情况进行调整的过程。
之前测试给我留下的印象就是白盒测试,黑盒测试之类的点。希望通过《全程软件测试》这本书对软件测试有一个全面的认识,对软件测试在软件开发流程中各个流程中需要完成的工作有一定的了解。
能从书中学习到现在的测试技术,如果该书中对自动化测试有详实的介绍那就更好了。自动化测试脚本测试对我来说一直是个迷,哎,就在刚过去的一个小时里,我还在盯着屏幕打印的日志信息了解程序的执行情况呢。