一.软件测试概要
1.定义
在规定的条件下对程序进⾏操作,以发现程序错误,衡量软件质量,并对其 是否能满⾜设计要求进⾏评估的过程。
2.目的
- 尽可能多的发现软件缺陷,检查系统是否满⾜ 要求,站在⽤户⻆度思考产品或项⽬功能实现的正确性。
- 通过分析错误产⽣的原因和错误的分布特征,帮助项⽬管理者发现当前所采⽤的软件过程的缺陷,以便改进。同时,通过分析也能帮助我们设计出针对的检测⽅法,改善测试 的有效性。
3.软件测试V模型
- 需求分析:主要明确客户需要的是什么,需要软件做成什么样⼦,还有哪些功能。
- 概要分析: 主要是架构的实现,指搭建架构,表述各模块功能、模块接⼝连接和数据传递的实现等各项事务。
- 详细设计: 对概要设计中表述的各个模块进⾏深⼊分析,对各个模块组合进⾏分析等。需要包含数据库设计说明。
- 软件编码: 按照详细设计好的模块功能表,编程⼈员编写出实际的代码。
- 单元测试: 单元测试是对程序中单个⼦程序或具有独⽴功能的代码段进⾏测试的过程。
- 集成测试: 集成测试在单元测试的基础上,先通过单元模块组装成系统或⼦系统,再进⾏测试。检查模块之间的接⼝是否正确。
- 系统测试: 系统测试针对整个产品进⾏测试,验证系统是否满⾜需求规格说明的定义,以及软件系统的正确性和 性能等是否能满⾜。
- 验收测试: 验收测试是部署软件前的最后⼀个测试,⽬的是确保软件准备就 绪,向需求⽅展示软件能够满⾜需求,验收测试细分为α测试和β测试 :
I.α测试: 指的是由⽤户,测试⼈员,开发⼈员等共同参与的内部调试
II.β测试: 指的是内测后的公测,即完全交给最终⽤户测试
二.软件测试分类
1.软件开发阶段⻆度
单元测试,集成测试,系统测试,验收测试
2.根据软件结构与算法⻆度
⽩盒测试,⿊盒测试,灰盒测试
- ⽩盒测试 :⽩盒测试⼜被称为结构测试,透明盒测试、逻辑驱动测试或基于代码测试,是对软件代码实现的细节 做细致检查。对于⽩盒测试,测试员必须要全⾯了解程序的内部逻辑结构,对所有逻辑路径进⾏测试。
- ⿊盒测试 :⿊盒测试也称为功能测试,是通过测试来检测每个功能是否都能正常使⽤。把程序当 作⼀个不可开的⿊盒⼦,在完全不考虑程序内部特性的情况下,对程序接⼝进⾏测试,它只检查程序功能 是否按照需求规格说明书的规定正常使⽤,程序是否能适当的接受输⼊程序⽽产⽣正确的输出信息。
- 灰盒测试 :介于⽩盒测试和⿊盒测试之间。灰盒测试关注输出对于输⼊的正确性,同时也关注内部实现。识通过⼀些表征性的现象,事件,标志来判断内部的运⾏状态。
3.软件测试角度 - 功能测试
I.主要检查实际功能是否符合⽤户的需求
II.功能测试主要包含: 1)逻辑功能测试 2)界⾯测试 3)易⽤性测试 4)安装测试 5)兼容性测试(软件本身的兼容性和不 同平台下的兼容性) - 性能测试
性能测试通过⾃动化的测试⼯具模拟多种正常峰值以及异常负载条件来对系统进⾏各项性能指标进⾏测试。中国软件测评中⼼将性能测试概括为三个⽅⾯:应⽤在客户端性能的测试,应⽤在⽹络上的性能 测试和应⽤在服务器端性能的测试。
通常情况下性能测试包括:时间性能和空间性能两种 :
I.时间性能:主要指软件的⼀个具体响应时间。
II.空间性能:主要指软件运⾏时所消耗的系统资源,如硬件资源,cpu,内存,⽹络消耗等。