[随笔] 软件设计师教程学习-测试的概念,单元测试、集成测试、黑盒测试、白盒测试

作为软件开发工程师,了解测试工程师的一些概念能够为我们写出更好的模块,系统有很好的指导意义。
同时,也能更好地与测试工程师进行良好的沟通,甚至当我们升级为系统架构师以后,对每个岗位的职责进行梳理也是很有帮助的。
以下内容是我本人摘抄自软件设计师中的内容,有一定删减。在此作为学习笔记,一起学习!


1、单元测试

单元测试也称模块测试,在模块代码编写完成并且编译无误后就可以进行单元测试。
单元测试主要侧重模块中的内部处理逻辑和数据结构。

单元测试的测试内容
单元测试主要检查模块的5个特征
(1)模块接口
保证模块接口的数据流正确的流入和流出。在测试中药检查以下要点:1)测试模块的输入参数和形式参数在个性、属性、单位上是否一致。
2)调用其他模块时,所给出的实际参数和被调用模块的形式参数在个数、属性、单位上是否一致。
3)调用标准函数时,所用的参数在属性、数目和顺序上是否正确。
4)全局变量在各模块中的定义和用法是否一致。
5)输入是否仅改变了形式参数。
6)开/关的语句是否正确。
7)规定的I/O格式是否与输入/输出语句一致。
8)在使用文件之前是否已经打开文件或使用文件之后是否已经关闭文件。

(2)局部数据结构
在单元测试中,局部数据结构出错是比较常见的错误,在测试时应重点考虑以下因素。
1)变量的说明是否合适。
2)是否使用了尚未赋值或尚未初始化的变量。
3)变量的初始值或默认值是否正确。
4)变量名是否有趣(例如拼写错)。
(3)重要的执行路径。
在单元测试中,对路径的测试时最基本的任务。由于不能进行穷举测试,需要精心设计测试例子来发现是否有计算、比较、或控制流等方面的错误。
1)计算方面的错误。算术运算的优先次序不正确或理解错误;精度不够;运算对象的类型彼此不相容;算法错;表达式的符号表示不正确等。
2)比较和控制流的错误。本应相等的量由于精度造成不相等;不同类型进行比较;逻辑运算符不正确或优先次序错误;循环终止不正确(如多循环一次或少循环一次)、
不恰当地修改循环变量;当遇到分支循环时出口错误等。
(4)出错处理
好的设计应该能预测到出错的条件并且有对出错处理的路径。虽然计算机可以显示出错信息的内容,但仍需要程序员对出错进行处理,保证其逻辑的正确性,以便于用户维护。
(5)边界条件
边界条件的测试是单元测试的最后工作,也是非常重要的工作。软件容易在边界出现错误。


2、集成测试

集成测试就是把模块按系统设计说明书的要求组合起来进行测试。即使所有的模块都通过了测试,在集成之后,仍然可能出现问题:穿过模块的数据丢失;一个模块的功能对其他模块造成有害的影响;
各个模块集成起来没有达到预期的功能;全局数据结构出现问题。另外,单个模块的误差可以接受,但模块组合后,可能会出现误差累计,最后累计到不能接受的程度。


3、系统测试

系统测试是将已经确认的软件、计算机硬件、外设和网络等其他因素结合在一起,进行信息系统的各种集成测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。
1)恢复测试
多数基于计算机的系统必须从错误中恢复并在一定的时间内重新运行。在有些情况下,系统必须是容错的,也就是说,处理错误绝对不能使整个系统功能都停止。而在有些情况下,系统的错误必须在特定的时间内或
严重的经济危害发生之前得到改正。恢复测试是一种系统测试,通过各种方式强制地让系统发生故障,并验证能否按照要求恢复过来,并在约定的时间内开始事务处理,而且不对系统造成任何伤害。
2)安全性测试
任何管理敏感信息或能够对个人造成不正当伤害(或带来好处)的计算机系统都是非法入侵的目标。在安全性测试过程中,测试人员模拟非法入侵者,采用各种方法冲破防线。系统安全性设计准则是使非法
入侵者所花费的代价大于攻破系统之后获取信息的价值,此时非法入侵已无利可图。
3)压力测试
压力测试要求以非正常的数量、频率或容量等方式执行系统。
4)性能测试
对于实时和嵌入式系统,提供所需功能但不符合性能需求的软件是不能接受的。性能测试用来测试软件在集成环境中的运行性能。
5)部署测试
在很多情况下,软件必须在多种平台和操作系统环境中运行。有时也将部署测试称为配置测试,是在软件将要运行的每一种环境中测试软件。另外,部署测试
检查客户将要使用的所有安装程序及专业安装软件,并检查用于向最终用户介绍软件的所有文档。


4、黑盒测试

黑盒测试也称功能测试,在完全不考虑软件的内容结构和特性的情况下,测试软件的外部特性。

5、白盒测试

白盒测试也称结构测试,根据程序的内部结构和逻辑来设计测试用例,对程序的路径和过程进行测试,检查是否满足设计的需要。
 

你可能感兴趣的:(软件设计师,单元测试,编程语言,测试)