软件测试的学习
软件测试的基本概念
测试环境:硬件+软件+网络
硬件包括:PC机,笔记本,服务器,各种pad终端等
测试环境的搭建
1、真实(模拟用户的真实使用环境)
2、干净(尽量要求在一个刚刚装好系统的机器上测试,然后也要在较多软件的系统环境下测试,对比软件被测表现)
3、无毒(没有中毒,需要安装杀毒软件)
4、独立(测试环境和开发环境独立)
使用VMware搭建测试环境
什么是测试用例?
>Test Case 简称TC,是指在测试执行前设计的一套详细的测试方案,包括测试环境,测试步骤,测试数据和预期结果。
常用的测试用例模板有:
>Excel模板:每个用例占一行,便于集中管理和维护,一般适用写功能用例。如下图
>Word模板:每个用例独占一页,描述的较清楚,但比较分散,适合写性能用例。如下图
怎么写测试用例呢?
>根据系统需求说明文档和项目原型。
软件测试分类
黑盒测试和白盒测试,如图
>黑盒测试:把被测的软件看成一个黑盒子,我们不用关心盒子里面的结构,只关心软件的输入和输出结果。
*功能测试
1、逻辑功能测试
2、界面测试
3、易用性测试
4、安装测试
5、兼容性测试
*性能测试 举例如下图:
1、一般性能测试
2、稳定性测试
3、负载测试
4、压力测试
>白盒测试:把盒子打开,去研究里面的源代码和程序结构。
静态测试和动态测试:
>静态测试:不实际运行被测的软件程序,只是检查程序的代码结构、界面或文档中可能存在的错误的过程。
*代码测试:主要测试代码是否符合相应的标准和规范,例如:注释和编码规范等之类的.
*界面测试:主要测试实际界面与需求说明中的相符。
*文档测试:主要测试用户手册和需求说明文档是否真正符合用户的实际需求。
>动态测试:实际运行程序,输入相应的测试数据,检查实际输出结果跟预期结果是否相符的过程。
黑盒测试、白盒测试、静态测试、动态测试这四者的关系
>黑盒测试有可能是动态测试(运行程序,只看输入和输出),也有可能是静态测试(不运行程序,只查看界面)。
>白盒测试有可能是动态测试(运行程序,并分析代码结构),也有可能是静态测试(不运行程序,只静态看代码)。
>动态测试有可能是黑盒测试(运行程序,只看输入和输出),也有可能是白盒测试(运行程序,并分析代码结构)。
>静态测试有可能是黑盒测试(不运行程序,只看界面),也有可能是白盒程序 (不运行程序,只静态看代码)。
单元测试、集成测试、系统测试、验收测试
>单元测试:对软件中最小可测试单元进行检查和验证。 主要用白盒测试方法来进行单元测试.
*单元测试的依据是:源程序(代码和注释),《详细设计文档》。
*驱动模块和桩模块,如图所示
>集成测试:通过测试的单元模块组装成系统或子系统,在进行测试,重点测试不同模块的接口部分。
*集成测试的依据是:单元测试的模块和《概要设计文档》
>系统测试:将整个系统看成一个整体进行测试,包括对性能,功能,以及软件所运行的软硬件环境进行测试。
*系统测试的依据:《系统需求说明文档》
>验收测试:分为α测试和β测试。
*α测试指的是由用户,测试人员,开发人员等共同参与的内存测试。
*β测试指的是α测试后的公测,完全交给用户测试。例如,QQ Beta版本。
回归测试、冒烟测试、随机测试
>回归测试:是指对软件新的版本测试时,重复执行上一个版本测试时的用例。
>冒烟测试:是指对一个新 版本进行一次大规模的测试之前,先验证一下软件的基本功能是否 实现,是否具备可测性。
>随机测试:是指测试中所有的输入操作都是随机的。
软件测试的常识
黑盒测试技术
》等价类法 如下图所示
示意图:
》边界值法 如下图所示
》因果图法
》流程图法
缺陷(bug)管理
提交缺陷报告的注意事项:
Bug处理流程图
Bug的常见分类有:
按严重程度划分
按优先级划分
按测试种类划分
按功能模块划分
按Bug的生命周期划分
Bug常见管理工具有:Bugzilla,禅道,jira
测试管理
软件生命周期的模型分为4种: