前言:
软件测试是为了发现错误而执行程序的过程,是对需求分析、设计和编码3个阶段进行的最终复审。下面介绍了软件测试的原则,方法过程等,测试用例的设计,测试的步骤还有软件的调试技术。
一、软件测试
软件测试的目的:
(1)测试是程序的执行过程,目的在于发现错误
(2)一个好的测试用例在于能发现至今未发现的错误
(3)一个成功的测试是发现了至今未发现的错误的测试
测试的原则:
(1)避免程序员检查自己的程序
(2)软件测试应尽早地,不断地进行
(3)软件测试不等于程序测试
(4)充分认识错误地群集现象
(5)测试用例应包括测试输入数据和与之对应的输出结果
(6)测试用例的输入数据应包括合理的输入和不合理的输入
(7)严格执行测试计划,避免测试的随意性
软件测试的方法:
基于计算机的测试有两 种方法。
1.黑盒测试(功能测试)
2. 白盒测试(结构测试)
软件测试的过程:
测试过程需要三类输入:(1)软件配置。包括软件需求规格说明、软件设计规格说明、源程序代码等;(2)测试配置。包括测试计划、测试用例等。(3)测试工具。
二、测试用例的设计
黑盒测试:
1.等价类划分
2.边界值分析
3.错误推测法
4.因果图
白盒测试:
逻辑覆盖:语句覆盖,判定覆盖,条件覆盖,判定—条件覆盖,条件组合覆盖,路径覆盖
1.逻辑覆盖
(1)语句覆盖是指选择足够的测试数据,使被测程序中每个语句至少执行一次。
(2)判定覆盖是指设计若干测试数据,使得程序中每个判定表达式的每个分支都至少执行一次(真假分支均被满足一次)。判定覆盖又称为分支覆盖。
(3)条件覆盖的含义是使得程序中每个判定表达式的每个条件的可能取值至少执行一次。
(4)路径覆盖是指选取足够多的测试数据,覆盖程序中所有的路径。也就是要求覆盖每个判定可能取值的所有组合。
2.等价类划分
划分等价类
设计测试用例
3.边界值分析法
(1) 如果规定了输入值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据;
(2) 如果规定了输入数据的个数,则用最大个数、最小个数、比最大个数多 1、比最小个数少 1 的数作为测试数据;
(3) 如果规定了输入数据的一组值,而且程序对不同输入值做不同处理,则允许的输 入值集合是一个有效的等价类,所有不允许的输入值集合是无效等价类;
(4) 如果规定了输入数据必须遵循的规则,则可以划分出一个有效的等价类(符合规则的)和若干个无效等价类(从各种不同角度违反规则的);
(5) 如果确知已划分的等价类中各元素在程序中的处理方式不同,则应将此等价类进一步划分成更小的等价类。
三、测试步骤
1.单元测试
测试内容:
(1)模块接口测试
(2)局部数据结构测试
(3)重要路径测试
(4)错误处理测试
(5)边界测试
测试步骤:
(1)配置测试环境
(2)编写测试数据
(3)进行多个模块的并行测试
2.集成测试
非渐增式集成
渐增式集成
3.验收测试
测试内容:
1.有效性测试
2.软件配置复查
4.系统测试
(1) 恢复测试:通过系统的修复能力,检测重新初始化、数据恢复、重新启动、检验点设置是否正确,以及人工干预的平均恢复时间是否在允许范围内。
(2) 安全测试:设计测试用例,安全保密措施,检验系统是否有安全保密的漏洞。
(3) 强度测试:设计测试用例,检验系统的能力最高能达到什么实际限度,让系统处于资源的异常数量、异常频率、异常批量的条件下运行测试系统的承受能力。一般取比平常限度高 5~10 倍的限度做测试用例。
(4) 性能测试:设计测试用例测试并记录软件运行性能,与性能要求相比较,检查是否达到性能要求规格。这项测试常常与强度测试相结合进行。
四、调试技术
调试过程
调试过程从执行一个测试用例开始,如发现实测结果与预期结果不一致,则表明在软件中存在错误或缺陷。调试过程试图找出并改正软件错误。
调试从错误的外部表现形式入手,确定程序中出错的位置,然后研究相关的程序代码和设计,查找错误的内在原因。
调试技术
1.强行排错
2.回溯法
3.归纳法
4.演绎法
调试原则
查错原则:
1.注重头脑的分析思考,不要过分依赖计算机
2.把调试工具仅当作辅助手段
3.避免试探法,至多把它当作最后手段
4.避开死胡同
排错原则:
1.注意错误的群集现象
2.提出的修改应能解释与这个错误有关的全部线索
3.慎重对待每一个错误的修改
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)