【测试】测试分类
目录
1、按照测试⽬标分类
1)界面测试:
2)功能测试
3)性能测试
4)可靠性测试
5)安全性测试
6)易用性测试
2、按照执行方式进行分类
1)静态测试
2)动态测试
3、按照测试方法分类
1)白盒测试
2)黑盒测试
3)灰盒测试
4、按照测试阶段分类
1)单元测试
2)集成测试
3)系统测试
4)硬件测试
5)回归测试
6)验收测试
5、按照是否手工测试
1)手动测试
2)自动化测试
1、按照测试⽬标分类
1)界面测试:
肉眼看到的任何元素都需要进行测试
1、验证界⾯内容显⽰的完整性,⼀致性,准确性,友好性。⽐如界⾯内容对屏幕⼤⼩的⾃适应,换⾏,内容是否全部清晰展⽰;•2、验证整个界⾯布局和排版是否合理,不同板块字体的设计,图⽚的展⽰是否符合需求;•3、对界⾯不同控件的测试,⽐如,对话框,⽂本框,滚动条,选项按钮等是否可以正常使⽤,有效和•4、⽆效的状态是否设计合理;•5、界⾯的布局和⾊调符合当下时事的发展。
2)功能测试
功能测试就是对产品的各功能进⾏验证,根据功能 测试⽤例 ,逐项测试,检查产品是否达到⽤⼾要求的功能。
3)性能测试
4)可靠性测试
可靠性(Availability)即可⽤性,是指系统正常运⾏的能⼒或者程度,⼀般⽤正常向⽤⼾提供软件服务 的时间占总时间的百分⽐表⽰。可靠性 = 正常运⾏时间/(正常运⾏时间+⾮正常运⾏时间)*100%
5)安全性测试
sql注入、xss漏洞、登录模块密码一般要加密显示....
6)易用性测试
简单性、灵活性、直观性、舒适性 产品是否有简单易上手的
2、按照执行方式进行分类
1)静态测试
所谓静态测试(static testing)就是不实际运⾏被测软件,⽽只是静态地检查程序代码、界⾯或⽂档中可能存在的错误的过程。----需要借助代码扫描工具(sonnar)
2)动态测试
动态测试(dynamic testing),指的是实际运⾏被测程序,输⼊相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以判断⼀个测试属于动态测试还是静态的,唯⼀的标准就是看是否运⾏程序。
3、按照测试方法分类
1)白盒测试
把盒子照亮看看内部结构有没有什么问题
白盒测试中的动态测试方法主要包含六种测试方法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖
语句覆盖:
判定覆盖:每个判定都要覆盖到为真和为假两种情况
A and B 要为T => A=T B=T ①A and B 要为F => A=T B=F 或者A=F B=T或者 A=F B=F ②C or D 要为T => C=T D=T/F 或者 C=T/F D=T ③C or D 要为F => C=F D=F ④得出⽤例:⽤例1:A=T B=T C=T D=F 满⾜ ①③⽤例2:A=T B=F C=F D=F 满⾜ ②④条件覆盖:A: T FB: T FC :T FD :T F⑤ ⑥得出⽤例:⽤例1:A=T B=T C=T D=T ⑤⽤例2:A=F B=F C=F D=F ⑥判定条件覆盖:结合判定覆盖和条件覆盖。得出⽤例:⽤例1:A=T B=T C=T D=T 满⾜①③⑤⽤例2:A=F B=F C=F D=F 满⾜②④⑥判定覆盖:if条件中既要满足为真的情况也要有测试为假的情况条件覆盖:表达式既要满足为真的情况也要有测试为假的情况条件组合覆盖:A B ∣ C DT T ∣ T TT F ∣ T FF T ∣ F TF F ∣ F F每⾏就可以是⼀个⽤例,⼀共四个⽤例。路径覆盖:
(1)if(x>0 && y>0)判定:记为P1(2)if(z < 0)判定:记为P2(3)x > 0:记为C1(4)y > 0:记为C2(5)z < 0:记为C3![]()
1、⽩盒测试主要应⽤于单元测试阶段
2、先执⾏静态设计⽤例的⽅法,再执⾏动态设计测试⽤例的⽅法
3、设计⽤例⼀般使⽤路径测试,重点模块追加使⽤逻辑覆盖⽅法
2)黑盒测试
把程序或者代码看作一个黑匣子,给定输入来看结果对不对,结果正确代表写的程序是对的
⿊盒测试的缺点是不可能覆盖所有代码。⿊盒测试⽤到的测试⽅法有,等价类,边界值,因果图,场景法,错误猜测法等
3)灰盒测试
灰盒测试,是介于⽩盒测试与⿊盒测试之间的⼀种测试,灰盒测试多⽤于集成测试阶段,不仅关注输出、输⼊的正确性,同时也关注程序内部的情况。但是,灰盒测试没有⽩盒测试详细和完整,⿊盒测试是覆盖产品范围最⼴的测试,因此灰盒测试基本是不能够替代⿊盒测试,否则需要很⼤的代价,设计⾮常多的⽤例。
常⻅⾯试题:你知道的测试⽅法有哪些?哪种⽤的⽐较多?
常⻅的测试⽅法有⿊盒测试,⽩盒测试和灰盒测试。根据具体的情况来选择,开发⼈员主要⽤⽩盒测试和灰盒测试,测试⼈员主要⽤⽩盒测试和⿊盒测试。对于测试⼈员来说,相较于⽩盒测试,⿊盒测试⽤的更多⼀些。
4、按照测试阶段分类
1)单元测试
与编码同步进⾏,针对软件最⼩组成单元进⾏测试,主要采⽤⽩盒测试⽅法,从被测对象的内部结构出发设计测试⽤例
2)集成测试
集成测试也称联合测试(联调)、组装测试,将程序模块采⽤适当的集成策略组装起来,对系统的⼝ 及集成后的功能进⾏正确性检测的测试⼯作。集成主要⽬的是检查软件单位之间的接⼝是否正确。 测试阶段:⼀般单元测试之后进⾏
3)系统测试
对通过集成测试的系统进⾏整体测试,验证系统功能性和⾮功能性需求的实现。•测试阶段:集成测试通过之后•测试对象:整个系统(软、硬件)•测试⼈员:⿊盒测试⼯程师•测试依据:需求规格说明⽂档•测试⽅法:⿊盒测试•测试内容:功能、界⾯、可靠性、易⽤性、性能、兼容性、安全性等
4)硬件测试
检查当前已经开发好的程序是否具备可测试性,在系统测试之前。 先进⾏冒烟测试,保证基本功能正常,不阻碍后续的测试。
5)回归测试
测试完功能测试之后,整体回归测试一下。自动化测试解决了回归测试的难点。
在实际⼯作中,回归测试需要反复进⾏,当测试者⼀次⼜⼀次地完成相同的测试时,这些回归测试将 变得⾮常令⼈厌烦,⽽在⼤多数回归测试需要⼿⼯完成的时候尤其如此,因此,需要通过 ⾃动测试 来 实现重复的和⼀致的回归测试。通过测试⾃动化可以提⾼回归测试效率。为了⽀持多种回归测试策 略,⾃动测试⼯具应该是通⽤的和灵活的,以便满⾜达到不同回归测试⽬标的要求
6)验收测试
系统测试通过之后(交付测试)
5、按照是否手工测试
1)手动测试
由人一个一个的输入用例,然后观察结果。
2)自动化测试
就是在预设条件下运⾏系统或应⽤程序,评估运⾏结果,预先条件应包括正常条件和异常条件。简单 说 ⾃动化测试是把以⼈为驱动的测试⾏为转化为机器执⾏的⼀种过程。 ⾃动化测试⽐如功能测试⾃动 化、性能测试⾃动化、安全测试⾃动化。 ⾃动化测试按照测试对象来分,还可以分为接⼝测试、UI测试等。接⼝测试的ROI(产出投⼊⽐)要⽐UI测试⾼。(这⾥了解⼀下,等到将⾃动化的时候再详细展开