软件测试流程
2015-05-29 16:00
190 查看
软件测试流程:需求测试—单元测试—集成测试—系统测试—性能测试—用户验收测试—回归测试
1)需求测试
– 完整性、正确性、一致性、可行性
– 无二义性、健壮性、必要性、可测试性、可修改性
2)单元测试
– 又称模块测试,完成对最小的软件设计单元模块的验证工作
– 目标是确保模块被正确地编码,通常情况下是面向白盒的
– 使用过程设计描述作为指南,对重要的控制路径进行测试以发现模块内的错误
– 对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试,及早发现和解决不易显现的错误
– 单元测试的内容:接口测试、内部数据结构、全局数据结构、边界、语句覆盖,错误路径
3)集成测试
– 又称组装测试,考虑API/参数组合,将软件产品各个模块组装起来,检查接口是否存在问题,以及组装后整体功能、性能表现
– 应当避免一次性的集成(除非软件规模很小),而采用增量集成(自底向上、自顶向下、组合方式集成)测试主要内容
– 主要解决各个组成模块如源代码是否符合开发规范、接口是否存在问题,整体功能有无错误,界面是否符合设计规范、性能是否满足用户需求
4)系统测试
– 根据软件需求规范的要求,进行系统测试,确认系统满足需求的要求
– 系统测试人员站在用户的角度测试系统
– 在需求分析阶段,要确定软件的可测性,保证有效完成系统测试工作
– 系统测试主要内容:所有功能需求、所有性能需求及其他需求(如安全性、容错性、兼容性等)得到满足
5)性能测试
– 性能测试要求被测试软件在业务处理速度、处理能力和所耗用的硬件系统资源比率满足用户的需求
– 可以编写一段相应的程序或者使用专门的测试工具,如利用LoadRunner自动化性能测试工具
6)用户验收/确认测试
– Alpha测试:是由用户在开发者的场所来进行的,Alpha测试时在一个受控的环境中进行的
– Beta测试:由软件的最终用户在一个或多个用户场所来进行的,开发者通常不在现场,用户记录测试中遇到的问题并报告给开发者进行分析、修改
7)回归测试
–回归测试是经过一段时间后回头来对以前修复过的bug重新进行测试。看该bug是否会重新出现
–有时候可以采用自动化测试功能QTP来进行回归测试,一般情况都手动执行以前测试用例,检查用例通过情况
1)需求测试
– 完整性、正确性、一致性、可行性
– 无二义性、健壮性、必要性、可测试性、可修改性
2)单元测试
– 又称模块测试,完成对最小的软件设计单元模块的验证工作
– 目标是确保模块被正确地编码,通常情况下是面向白盒的
– 使用过程设计描述作为指南,对重要的控制路径进行测试以发现模块内的错误
– 对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试,及早发现和解决不易显现的错误
– 单元测试的内容:接口测试、内部数据结构、全局数据结构、边界、语句覆盖,错误路径
3)集成测试
– 又称组装测试,考虑API/参数组合,将软件产品各个模块组装起来,检查接口是否存在问题,以及组装后整体功能、性能表现
– 应当避免一次性的集成(除非软件规模很小),而采用增量集成(自底向上、自顶向下、组合方式集成)测试主要内容
– 主要解决各个组成模块如源代码是否符合开发规范、接口是否存在问题,整体功能有无错误,界面是否符合设计规范、性能是否满足用户需求
4)系统测试
– 根据软件需求规范的要求,进行系统测试,确认系统满足需求的要求
– 系统测试人员站在用户的角度测试系统
– 在需求分析阶段,要确定软件的可测性,保证有效完成系统测试工作
– 系统测试主要内容:所有功能需求、所有性能需求及其他需求(如安全性、容错性、兼容性等)得到满足
5)性能测试
– 性能测试要求被测试软件在业务处理速度、处理能力和所耗用的硬件系统资源比率满足用户的需求
– 可以编写一段相应的程序或者使用专门的测试工具,如利用LoadRunner自动化性能测试工具
6)用户验收/确认测试
– Alpha测试:是由用户在开发者的场所来进行的,Alpha测试时在一个受控的环境中进行的
– Beta测试:由软件的最终用户在一个或多个用户场所来进行的,开发者通常不在现场,用户记录测试中遇到的问题并报告给开发者进行分析、修改
7)回归测试
–回归测试是经过一段时间后回头来对以前修复过的bug重新进行测试。看该bug是否会重新出现
–有时候可以采用自动化测试功能QTP来进行回归测试,一般情况都手动执行以前测试用例,检查用例通过情况
相关文章推荐
- 运行时数据结构
- android Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)
- java之Integer知识整理
- js获取鼠标移动位置
- shell调用awk(转)
- Linux下挂载U盘
- jaxb
- jquery 中json数组的操作 增删改
- svn 错误 local add incoming add upon merge
- binder学习笔记
- 泛型初探
- TP 配置项及说明
- HeroBaby
- 使用xcodebuild命令行编译iOS应用遇到的一个错误及解决办法
- centos6.6下编译安装mysql5.6之后启动失败:Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).
- NBUT 1114 Alice's Puppets(排序统计,水)
- ruby学习资源汇总
- js发送邮件确定email地址
- GRE数学考试最常用的概念
- 从一场场大型网站灾难过后的BUG:根