软件测试的目的和原则
目的
1、测试是程序的执行过程,目的在于发现错误
2、一个好的测试用例在于能发现至今未发现的错误
3、一个成功的测试是发现了至今未发现的错误的测试
原则
1、应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭
2、测试用例应由测试输入数据和对于的预期输出结果这两部分组成
3、程序员应避免检查自己的程序
4、在设计测试用例时,应当包括合理的输入条件和不合理的输入条件
软件测试的方法
黑盒测试(功能测试)、白盒测试(结构测试)
黑盒测试:把测试对象看做一个黑盒子,检查程序的功能是否符合它的功能说明
黑盒测试是一种宏观功能上的测试,该方法适合测试部门的测试人员或用户
白盒测试:把测试对象看做一个透明的盒子,对程序所有的逻辑路径进行测试
适合于很小单位的测试,以及从事软件地层工作、生产构件的测试人员进行的测试
条件测试路径选择
1、嵌套型分支结构、连锁型分支结构
循环测试路径选择
简单循环、嵌套循环、连锁循环、非结构循环
测试过程的四个步骤
单元测试、组装测试、确认测试、系统测试
关系:后一个步骤在逻辑上前一个步骤的继续
单元测试
又称模块测试,针对软件设计的最小单位——程序模块,进行正确性检验的测试工具。单元测试的内容如下:
组成测试
通常,把模块组装成为系统的方式有:一次性组装方式、增值式组装方式
一次性组装:如果在没有问题的情况下,时间快
增值式组装:自顶向下的增值方式、自低向上的增值方式、混合 增值式测试
确认测试
又称有效性测试,任务是验证软件的功能和性能及其它特性是否与用户的要求一致
系统测试
最后一个测试,把所有的设备以及实际环境进行测试
调试方法
调试的关键在于推断程序内部的错误位置及原因
强行排错:使用多、效率较低、不需要过多思考、省脑筋
回溯法:发现错误、分析错误、确定最先发现“症状”的位置
归纳法:从一些线索着手,通过关系来找错
演绎法:从一般原理或前提出发,经过排除和精化的过程来推导出结论的思考方法