编码
将软件设计结果转换成用某种程序设计语言书写的程序
规范
命名
- 名副其实
- 避免误导
- 做有意义的区分
- 省略一些传统标记
- 类名
- 方法名
函数
- 短小精悍
- 一件事
- 参数少
- 好名字
- 无副作用
- 避免输出参数
- 异常处理
- 适度结构化
注释
重构
在不改变代码外在行为的前提下,对代码做出修改,以改进程序的内部结构
集成
是指将单独的软件构件合并成一个整体的软件系统。集成分为集成子系统和集成系统两个级别
部署
是为确保最终用户可以正常使用软件产品而进行的活动。部署单元由一个工作版本(可执行构件集)、文档(最终用户支持材料和发布说明)和安装工件组成
测试
Pareto原理:测试发现的错误中的80%很可能是由程序中20%的模块造成的
缺陷:是系统任一方面(包括需求、设计或代码)的缺点。该缺点会促成或潜在的促成一个或多个失败发生
错误:是指程序中的缺陷所产生的不正确结果
失败:当一个程序不能运行或者其表现不可被接受时,称为失败。失败是系统执行中出现的情况。失败源于代码缺陷
机器测试
在设定的测试数据上执行被测程序的过程。又称动态测试。
白盒测试
导出测试用例是依据模块的编码
模块的内部逻辑对测试者可见
基本途径测试:导出基本可执行路径集合,从而设计测试用例的方法
基本径的集合是由一组独立途径组成的
独立途径是指程序中至少引入一个新(执行) 语句的路径
途径 + 测试用例
条件测试
检查程序中所包含的逻辑条件
分支和关系算子测试方法(BRO)
给出约束集合,设计测试用例
循环测试
简单循环
嵌套循环
级联循环
黑盒测试
在程序或模块的接口级进行,而不考虑程序的内部逻辑
等价类划分
把输入的定义域划分成不同的数据类,导出测试用例
等价类:具有相同作用的一些输入数据元素构成的数据集合
利用等价类中的一个元素代表对程序测试(减少测试用例)
有效等价类和无效等价类:由输入条件规定的范围判断
如判断三角形类型,边长为负,就是无效等价类
边界值分析
单元测试
把一个模块作为独立的程序单元进行测试,以保证它能够正确执行规定的功能。
黑盒测试方法与白盒测试方法都适用于单元测试,它们是相互补充的,但不能相互代替
环境
驱动程序
相当于被测模块主程序,接受测试数据给测试模块,最后输出实测结果
存根模块
代替被测模块调用的子模块
测试开销
集成测试
组装通过测试的模块为系统进行测试
主要使用黑盒测试法
集成测试分类
一次性集成方式
增值式集成方式:逐步组装成较大的系统,在组装的过程中边连接边测试
自顶向下集成测试
深度优先/宽度优先
1.先对主模块测试(下属模块全部用桩模块代替)
2.逐步用实际模块替换已用过的桩模块
3.进行回归测试(重新执行以前做过的全部测试或部分测试)
4.判断组装是否完成
自底向上的集成测试
从最底层的模块开始测试,沿着控制层向上,一次结合一个模块。
用实际模块代替驱动模块
三明治测试
自顶向下与自底向上相结合
恢复测试
强制软件发生故障,测试系统能否在指定的时间间隔内恢复正常
安全保密性测试
测试者扮演一个试图攻击系统的角色,采用各种方式攻击系统
压力测试
性能测试