04- 软件测试的方法与软件测试分类
静态测试-评审需求文档、测试用例。
静态测试指不运行程序,对程序和文档进行分析与检查。
静态测试结束又称为静态分析技术
静态测试包括对软件中的需求规格说明书,程序源代码,设计文档,进行审查。
静态测试内容:
1.代码走查(开发阶段)
①开发人员之间互相阅读代码,检查其编写正确与否
②只有理解了源代码才可以完成单元测试,或者说快速理解源代码是完成单元测试的前提。
③代码走读发现的问题比单元测试发现的更多,更快,更早。
④单元测试满足不了编程规范问题。
⑤有的时候肉眼看一下,都不需要单元测试。
2.文档评审(各个阶段)
①需求文档的评审
②设计文档的评审
③测试文档的评审:测试计划,测试用例,测试报告。
④用户手册的评审
动态测试:手工,自动化。
动态测试是指通过人工或使用工具运行程序进行检查,分析程序的执行状态和程序的输出。
白盒测试,黑盒测试,灰盒测试都属于动态测试。
黑盒测试
只注重输入与输出
黑盒测试通过软件的外部表现来发现其缺陷和错误。把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程。
黑盒测试设计方法:
等价类划分法
边界值分析法
错误推测法
因果图法
场景分析法
灰盒测试:
接口测试(数据-格式-认证),集成测试
灰盒测试介于白盒测试与黑盒测试之间的测试
灰盒测试关注输出对于输入的正确性;同时也关注内部表现,但是关注不像白盒测试那样详细,完整。
白盒测试
相当于单元测试
测试方法应用范围:
1.单元测试应用白盒测试方法
2.集成测试应用灰盒测试方法
3.系统测试和确实测试应用黑盒测试方法。
系统测试:
概念:是将已经确认的软件,计算机硬件,外设,网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试。
系统测试包括:
1.功能测试:
对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户需求的功能.
功能测试的依据是《需求规格说明书》
构造正常/异常输入检查输出是否与期望的相通。如果两者不一致,即表明功能有误。
功能测试难点在于理解用户的需求,以及构造有效的数据。
2.性能测试
测试软件处理业务的速度
检验性能是否符合需求
得到某些性能数据工人们参考
3.健壮性测试
1.健壮性是指在异常情况下,软件还能正常运行的能力。
2.健壮性有两层含义:
①容错能力:容错性测试通常构造一些不合理的输入来引发软件出错例如:
1.输入错误的数据类型
2.输入定义域之外的数值
3.测试客户机-服务器模式的软件时,把网络线拔掉,造成通信异常中断等。
②恢复能力
1.系统能否重新运行。
2.有误重要数据丢失.
3.是否毁坏了其他相关的软件硬件。
4.安全性测试
是指防止系统被非法入侵的能力,技术与技术问题又属于管理问题。
①为非法入侵设立目标,例如“盗窃某个文件”或“更改数据库记录”等。
②邀请(或悬赏)一些人扮演黑客,让他们想尽办法入侵系统,实现“目标”。
③如果有人成功了。请他描述入侵过程。
5.压力测试
即系统运行的极限状态。
6.可靠性测试
可靠性测试是指在一定环境下,在给定的时间内,系统不发生故障的概率。由于软件不像硬件那样可以“加速老化”,按此定义,软件可靠性可能会发给很长时间。
-容灾,恢复,容错。