【第四章】测试分类

1.按照测试目标分类

  • 界面测试:简称UI测试,按照UI设计稿和界面设计规则对软件页面展示的全部内容进行测试,该测试主要是通过保证界面布局的合理性来提高用户的体验。
  • 功能测试:对产品的各个功能模块进行测试,具体的测试⽤例需要使⽤⿊盒设计测试⽤例的⽅法,如等价类、边界值、判定表法、正交法、场景法、错误猜测法等。
  • 性能测试:要对产品的性能需求进⾏分析,然后基于系统的性能需求和系统架构,完成性能测试的设计和执⾏,最后要进⾏持续的性能调优。
  • 可靠性测试:可靠性=正常运⾏时间/(正常运⾏时间+⾮正常运⾏时间)*100%,表示系统正常运行的能力或者程度。
  • 安全性测试:安全性是指信息安全,是指计算机系统或⽹络保护⽤⼾数据隐私,完整,保护数据正常传输和抵御⿊客,病毒攻击的能⼒。参见的测试方法是渗透测试、安全运维等。
  • 易用性测试:测试软件是否符合标准规范,是否符合用户的直观性,是否具有灵活性,用户是否体验舒适。

2.按照执行方式进行分类

  • 静态测试
    静态测试是指不实际运行软件,而是静态的检查程序代码,界面或者文档中可能存在错误的过程。
  • 动态测试
    动态测试(dynamictesting),指的是实际运⾏被测程序,输⼊相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以判断⼀个测试属于动态测试还是静态的,唯⼀的标准就是看是否运⾏程序⼤多数软件测试⼯作都属于动态测试

3.按照测试方法进行分类

  • 白盒测试
    ⽩盒测试⼜称为结构测试或逻辑测试,它⼀般⽤来分析程序的内部结构,针对程序的逻辑结构来设计测试⽤例进⾏测试。

⽩盒测试主要分为静态测试和动态测试两种。静态测试常⻅于桌⾯检查、代码审查、代码⾛查、代码扫描⼯具
动态测试⽅法主要包含六种测试⽅法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

优点:代码覆盖率高,早期发现缺陷

总结:
1.白盒测试主要用于单元测试阶段
2.一般先执行静态设计用例的方法,再执行动态设计测试用例的方法

  • 黑盒测试
    ⿊盒测试就是在完全不考虑程序逻辑和内部结构的情况下,检查系统功能是否按照需求规格说明书的规定正常使⽤、是否能适当的接收输⼊数据⽽输出正确的结果,满⾜规范需求。所以,⿊盒测试⼜称之为数据驱动测试,只注重软件的功能

优点:从用户的角度设计测试用例能提高用户体验感。不需要关注内部实现
缺点:不可能覆盖所有代码

黑盒测试用到的方法有:等价类法、边界值法、场景法 、错误猜测法等。

  • 灰盒测试
    灰盒测试是介于白盒测试和黑盒测试之间的一种综合测试,灰盒测试多用于集成测试阶段,不仅关注程序内部的情况,也关注系统外部的情况。常常用于集成测试和回归测试

优点:灰盒测试结合了内部测试和外部测试,有助于发现更多的问题。设计的用例会更加合理,因为即考虑了内部逻辑也考虑了外部功能。

总结

  • 白盒测试适合需要深入了解代码和内部逻辑的场景,主要用于单元测试和代码审查
  • 黑盒测试适合功能测试和用户视角的测试,主要用于功能测试,系统测试
  • 灰盒测试适合需要结合内部知识和外部功能的综合测试,主要用于回归测试和集成测试

常见面试题

你知道的测试⽅法有哪些?哪种⽤的⽐较多?
测试方法就是黑盒测试、白盒测试、灰盒测试。不同职位的人侧重的角度不同,侧重的测试方法也就不一样。开发人员直接跟代码打交道,多用白盒测试和灰盒测试。测试人员人员,多使用黑盒和白盒测试,但是一般更多用黑盒,从用户视角去测试。

4.按照测试阶段分类

  1. 单元测试:针对软件最⼩组成单元进⾏测试(一个类,或者一个方法),主要采⽤⽩盒测试⽅法,从被测对象的内部结构出发设计测试⽤例。
  2. 集成测试:集成测试也称为联合测试、组装测试。在单元测试之后,对于每个功能模块进行正确性的测试工作。主要是为了检查软件单位之间的接口是否正确。使用灰盒测试。
  3. 系统测试:在将各个功能测试完之后,对通过集成测试的系统进⾏整体测试验证系统功能性和⾮功能性需求的实现。主要使用黑盒测试。
    • 冒烟测试:冒烟测试只进行基本功能的测试,覆盖软件的关键功能和主要模块,确保核心功能没有问题。如果冒烟测试未通过,则停止后续的详细测试,节省时间和资源。整个过程非常快且广泛
    • 回归测试:回归测试是指在修改了旧代码之后,重新检测是否引入了新的bug
    • 这俩都属于系统测试
  4. 验收测试:交付测试,针对用户需求,测试并确认系统是否满足验收标准,是技术测试的最后一个阶段。目的是为了保证软件满足原始需求。使用黑盒测试

举例:
假设现在我们要生产一辆车,按照其流程:

  • 检测零件是否质量合格(单元测试)
  • 将各个零件组成车之后,初步检测车的各个功能是否正常(集成测试)
  • 成形之后不能马上交给客户,还要对整车进行完整而详细的测试(系统测试)
  • 将车放在4S店进行展示,供用户选择和购买,⽤户在选择汽⻋的过程中也会对⻋外观以及性能等⽅⾯进⾏校验(验收测试)

5.按照是否手工测试

对于手工测试:由⼈去⼀个⼀个的输⼊⽤例,然后观察结果,和机器测试相对应,属于⽐较原始但是必须的⼀个步骤。
对于自动化测试:以⼈为驱动的测试⾏为转化为机器执⾏的⼀种过程

手动测试和自动化测试的对比

  • 自动化测试节省成本,提高了测试效率,保障了软件的质量
  • 自动化测试工具由测试开发人员编写,对测试开发人员技术要求较高,且不能发散性测试
  • 手工测试可以进行发散性测试,但是效率低,且成本高

6按照实施者划分

  • α测试:α测试⼜叫内测或者叫a测。由公司内部用户模拟实际操作环境下的测试,这个测试不能由程序员或者测试人员进行,因为不是真正的用户,出发点不同影响测试效果。
  • β测试:β测试⼜叫公测或者叫b测。β测试会邀请一些用户在一个或者多个场所来测试软件。

α测试与β测试的区别:

  • 测试场所不同,一个是公司内部模拟用户,一个是真用户。
  • 测试执行时机不同,α测试先于β测试执⾏。通常是α测试通过后,在进⾏β测试
  • 测试时间长短不同,α测试时间没有β测试持续时间⻓,因为β测试是真实用户进行操作,发现的问题更贴近用户体验。

7按照测试地域划分

按照测试地域划分,⼀般会将测试划分为国际化测试本地测试
国际化测试需要注意时区、货币、文字等切换问题

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值