软件测试是为了尽早发现软件缺陷,确保缺陷修复,以提高软件质量。决定软件质量的关键是需求分析、设计和实现,而测试是贯穿于上述过程的一种检查手段。即便功能开发好了,没有经过测试,这也是一个不可靠的程序。
一、软件测试分类
软件测试主要分为白盒和黑盒,白盒关心软件内部设计和程序实现,依据是设计文档;而黑盒不关心软件内部,只关心输入输出,依据是需求文档。白盒一般由开发人员负责,测试单元代码,我们一般所认为的软件测试工程师做的是黑盒测试,负责整体系统流程测试。
黑盒测试又包括:
功能测试(根据需求说明,验证功能)、用户界面效果测试(易用性、视觉效果)、性能测试(处理业务的速度)、健壮性测试(异常情况下,系统的容错能力和恢复能力)、安全性测试、压力测试(极限状态的负载量)、可靠性测试、安装/卸载测试
黑盒测试的方法:
等价类划分(划分相同价值的集合,避免重复性工作)、边界值分析、错误推测法、因果图法、场景分析法。
其实还有一种是灰盒测试,针对程序的接口,关注输出对于输入的正确性,通过表征现象、条件来判断内部的运行状态。主要用于及集成测试的阶段。
二、软件测试的阶段
1、单元测试,即一个个功能模块进行测试(白盒测试)
2、集成测试,将接口集成后,测试接口传输数据的准确性(黑盒、白盒测试,也称为灰盒测试)
3、系统测试,联 后,整体流程测试(黑盒测试)
4、验收测试,由客户验收的测试(黑盒)
三、软件测试的流程
1、制定测试计划,根据需求安排人员、项目阶段、时间、测试工具、浏览器等;
2、设计测试用例,根据需求规格说明书,写清测试的条件、步骤、结果,即如何测;
3、执行测试,当测试计划、用例已审批且测试对象开发完后即可开始,发现问题提交bug给开发,修复完再回归测试;
4、写测试 告,内容包括本阶段测试了什么功能,有哪些问题,问题严重性以及提出问题若不能修复的备选方案;
5、当前功能性测试用例通过率达100%,非功能性测试用例通过率达90%,且最近时间内测试无暴漏情况,测试结束。
四、软件测试与质量保证的区别
1. 质量保证(QA):质量保证的重要工作通过预防、检查与改进来保证软件质量,QA采用“全面质量管理”和“过程改进”的原来来开展质量保证工作,所关注的是软件质量的检查与测量。QA的工作是软件生命周期的管理及验证软件是否满足规定的质量和用户需求,因此主要着眼于软件开发活动中的过程、步骤和产物,而不是对软件进行剖析找出问题或评估。
2.软件测试:软件测试虽然也与开发过程紧密相关,但关心的不是过程的活动,而是对过程的产物以及开发出来的软件进行剖析。
五、软件测试的作用
1.对软件质量进行度量和评估,以验证软件的质量满足用户的需求的程度,为用户选择和接受软件提供有力的依据;
2.通过分析错误产生的原因帮助发现当前开发工作所采用的软件过程的缺陷;
3.通过测试结果的分析整理,还可以修正软件开发规则,并未软件可靠性分析提供依据;
六、软件测试的原则
1.所有软件测试都应追溯到用户需求;
2.应当把“尽早地和不断地进行软件测试”作为软件测试的座右铭;
3.完全的测试是不可能的,测试需要终止;
4.测试无法显示软件潜在的缺陷;
5.充分注意测试中的群集现象;
6.程序员应避免检查自己的程序;
7.尽量避免测试的随意性。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!