欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【软工】软件测试

程序员文章站 2022-05-02 14:03:51
...

一、软件测试的目的和原则

1、目的

发现错误,源代码、文档

2、原则

  1. 软件测试必不可少
  2. 测试用例应由测试输入数据和对应的预期输出结果这两部分组成
  3. 程序员应避免检查自己的程序
  4. 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件

3、测试信息流

  1. 软件配置
  2. 测试配置
  3. 测试工具
  4. 测试结果分析
  5. 排错(调试)
  6. 修正后的文档在测试

【软工】软件测试

4、测试与软件开发各阶段的关系

【软工】软件测试

二、软件测试用例设计

1、黑盒测试

(功能测试,数据驱动,把测试对象看成黑盒,主要测试功能,检查程序模块间的接口)
1、等价类划分(有效等价类,无效等价类)
【软工】软件测试

【软工】软件测试

2、边界值分析:选一个或几个特定值,是这个等价类的每个边界都作为测试的目标;考虑输入和输出条件(输出等价类)
3、错误推测法:列举出程序中所有可能出现的错误
4、因果图:原因和结果明确,最终生成判定表。基本符号用Ci表示原因,用Ei表示结果,“0”表示某状态不出现,“1”表示某状态出现

【软工】软件测试

【软工】软件测试

2、白盒测试

(结构测试,可看成一个透明的盒子,内部结构透明,主要测试程序内部结构,测试逻辑路径)
逻辑覆盖:

语句覆盖:只覆盖一条路径
判定覆盖:使所有的判定条件设置成都成立或都不成立
条件覆盖:每个条件可能取值都要执行一次,至少判定三条
判定-条件覆盖:判定要执行,条件也要执行
条件组合覆盖:把条件一一列出,覆盖所有条件
【软工】软件测试

【软工】软件测试

路径覆盖
【软工】软件测试

条件测试路径选择:

当程序中判定多于一个时,形成的分支结构可以分为两类:嵌套型分支结构和连锁型分支结构
【软工】软件测试

循环测试路径选择

  1. 简单循环
  2. 嵌套循环
  3. 连锁循环
  4. 非结构循环

    【软工】软件测试

三、软件测试策略

  1. 单元测试:由开发人员进行,主要采用白盒测试,测试算法
  2. 组装测试:把所有的单元测试模块组装在一起,集成测试
  3. 确认测试:测试需求分析
  4. 系统测试:模拟真实使用环境测试
    【软工】软件测试

1、单元测试的内容

【软工】软件测试

2、确认测试的流程

【软工】软件测试

四、软件测试种类

功能测试:在规定的时间内,运行软件系统的所有功能,来验证有无严重错误。
可靠性测试:平均的失效时间,越长越好。
强度测试:故障的情况下,系统运行到何种程度。敏感性测试
性能测试:系统是否满足说明书中规定的性能,特别是实时系统或嵌入式系统
恢复测试:系统在出现故障后能否自动恢复,断点是否保存的合理
启动/停止测试:在启动和关机阶段,系统的处理能力
配置测试:检查计算机系统内各个设备资源间的相互联结和功能分配中的错误
安全性测试:保密性,安全性,防止病毒和密码被泄露
可使用性测试:用户的使用,菜单操作符合用户习惯
可支持性测试:验证系统的支持策略
安装测试:找安装错误
过程测试:人工完成,各个人员角色分别进行
互联测试:多个不同系统的转换
兼容性测试:不同版本之间的兼容性
容量测试:存储量的测试,测试系统的承受能力
文档测试:测试用户手册指南,保证文档正确,全面清晰精确

五、程序调试

目的为了纠正错误,在成功的测试之后开始调试

  1. 确定错误出现的位置
  2. 纠错,回归测试

调试步骤:

  1. 确定出错位置
  2. 分析错误原因
  3. 排除错误,修改设计和代码
  4. 重复进行暴露错误的原始测试和相关测试

调试方法:

  1. 强行排错:使用多,效率低
  2. 回朔法:小程序常用,一旦发现错误,确定最先发现症状的位置
  3. 归纳法:分析,假设,归纳整理,大量收集出错点附近的数据

           收集方法:3W1H组织可用数据
                      What 列出一般现象
                      Where说明发现现象地点
                      When列出现象发生时所有已知情况
                      How说明现象的范围和量级      
    

【软工】软件测试

  1. 演绎法:经过排除和精化的过程进行推导,出结论的思考方法

【软工】软件测试

调试原则:

  1. 思考错误征兆有关的信息
  2. 避开死胡同,换位思考
  3. 把调试工具当做辅助手段来使用
  4. 避免用试探法

修改错误原则:

  1. 出现错误地方还可能有别的错误
  2. 避免修正一个错误的同时引出新错误,所以修改之后要进行回归测试