经过前面软件测编码阶段,是不是我们就可以把软件发布出去供用户使用了呢?不是的,为了确保软件不会出现不必要的差错,还需要经过重重测试的。
软件测试的目的
是程序编完之后必须要做的一件事
为了发现错误而执行程序的过程
软件测试的原则
避免程序员检查自己的程序
软件测试应尽早地、不断地进行
软件测试不等于程序测试
充分认识错误的群集现象
测试用例应包括测试输入数据和与之对应的输出结果
测试用例的输入数据应包括合理的输入和不合理的输入
严格执行测试计划,避免测试的随意性
软件测试的方法有哪些?
黑盒测试(功能测试)、白盒测试(结构测试)
- 黑盒测试:把测试对象看做一个黑盒子,检查程序的功能是否符合它的功能说明
黑盒测试是一种宏观功能上的测试,该方法适合测试部门的测试人员或用户
- 白盒测试:把测试对象看做一个透明的盒子,对程序所有的逻辑路径进行测试
适合于很小单元的测试,以及从事软件底层工作、生产构件的测试人员进行的测试。
测试过程的4个步骤
单元测试、组装测试、确认测试、系统测试
关系:后一个步骤在逻辑上前一个步骤的继续
步骤一、单元测试
又称模块测试,针对软件设计的最小单位——程序模块,进行正确性检验的测试工具。单元测试的内容如下
步骤二、组装测试
通常,把模块组装成为系统的方式有:一次性组装方式、增值式组装方式
一次性组装:如果在没有问题的情况下,时间块
增值式组装方式:自顶向下的增值方式、自底向上的增值方式、混合增值式测试
步骤三、确认测试
又称有效性测试。任务是验证软件的功能和性能及其它特性是否与用户的要求一致
步骤四、系统测试
最后一个测试,把所有的设备以及实际环境进行测试
调试技术
调试的目标在于找到软件错误的原因并加以改正
- 强行排错:使用多,效率低,不需要过多思考,较省脑筋
- 回溯法
- 归纳法:从一些线索着手,通过分析他们之间的关系来找出错误
- 演绎法:从一般原理或前提出发,经过排除和精化的过程来推导出结论的思考方法
软件测试与开发个阶段的关系
最后要形成测试分析报告
总结
在软件开发阶段不可避免地会产生错误。例如,在需求分析时没有很好地理解用户的意图;在系统设计时对实体 间的关系没有正确地描述;在编码阶段出现了不易发现的逻辑错误;软件开发人员之间的 配合出现失误等。尽管在每个阶段结束之前对软件进行严格的技术评审,但经验表明审查 并不能发现所有差错。因此,软件编码完成后,在交付用户使用前,必须对软件进行严格 的测试。软件测试是软件质量保证的关键步骤。
不足之处欢迎斧正哦~🙂