一、软件测试的定义:
描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程
二、软件测试的过程:单元测试,集成测试,确认测试,系统测试,验收测试。
1.单元测试:目的:程序模块;对象:软件设计的最小单位;
2.集成测试:目的:接口;方法:递增式集成测试法和非递增式集成测试法;
3.确认测试:目的:满足软件需求;
4.系统测试:目的:综合性检验;要求:开发人员不能进行系统测试;
5.验收测试:目的:用户;
三、软件开发的过程:计划,需求分析,设计,程序编写,测试,运维;
四、软件测试在软件开发中的作用:
1.项目规划阶段:负责整个测试阶段的规划;
2.需求分析阶段:确定测试需求分析,指定系统测试计划;
3.设计阶段:指定集成测试和单元测试计划;
4.编码阶段:开发测试代码或脚本;
5.测试阶段:开始测试。
五、软件测试过程模型
1.V模型:需求分析->概要设计->详细设计->编码->单元测试->集成测试->系统测试;
优先级:需求分析and系统测试>概要设计and集成测试>详细设计and单元测试>编码;
2.其他模型:W,H,X模型;
六、软件测试环境
1.测试环境准确是指运行软件的环境;
2.测试环境=硬件+软件+网络+数据+测试工具;
硬件:主要是指PC,笔记本等;
软件:主要是指操作系统;
网络:主要是指是CS还是BS结构;
数据:主要是指测试数据的准备;
3.搭建环境需要注意以下几点:
尽量模拟用户真实的使用环境;
测试环境中尽量不要安装与被测软件无关的软件,但最好安装杀毒软件,确保系统没有病毒;
测试环境与开发环境独立;
七、软件测试的准则
1.尽早地和不断地进行软件测试;问题发现越早,解决问题的代价就越小;
2.不可能完全的测试;不可能测试所有可能输入,不可能测试每一条可能的执行路径,不可能找出所有的设计错误,不能用逻辑来证明程序的正确性;
3.增量测试,由小到大;
4.避免测试自己的程序;
5.注意错误集中的现象;
6.确认BUG的有效性;A发现的BUG一定要由B发现的BUG确认;
7.合理安排测试计划;