基础入门必须知道的软件测试分类

发布于:2022-11-09 ⋅ 阅读:(834) ⋅ 点赞:(0)

按开发阶段分类

单元测试 又称模块测试,针对软件设计中的最小单位——程序模块,进行正确性检查的测试工作。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。

单元定义:C中指一个函数,Java中指一个类,在图形化的软件中,单元一般指1个窗口,1个菜单。

1.什么时候进行单元测试?

2.由谁来做单元测试?

3.单元测试的依据?

4.单元测试的通过标准?

5.国内单元测试的现状?

6.如何进行单元测试?

集成测试

又叫组装测试,通常在单元测试的基础上,将所有程序模块进行有序的、递增的测试。重点测试不同模块的接口部分。

 

1.什么时候进行集成测试?

2.由谁来做集成测试?测试人员

3.集成测试的依据?

按是否查看源代码

黑盒测试(black-box  testing)

  • 又称数据驱动测试,完全不考虑程序内部结构和内部特性,注重于测试软件的功能需求,只关心软件的输入数据和输出数据。

白盒测试(white-box  testing)

  • 指的是把盒子打开,去研究里面的源代码和程序结构。

在软件公司,往往采用黑盒测试&白盒测试相结合的方式。 软件的整体功能和性能进行黑盒测试 软件的源代码采用白盒测试

 

黑盒测试

黑盒测试能发现以下几类错误:

  • 功能不对或功能遗漏。
  • 界面错误。
  • 数据库访问或者处理错误。
  • 性能问题。

黑盒测试的缺点

  • 不能测试程序内部特定部位;
  • 如果程序未执行的代码无法发现;
  • 不可能做到穷举测试

黑盒测试的优点

  • 测试人员不需要了解实现得细节,包括特定的编程语言(没有编程经验的人也可以设计测试用例);
  • 测试人员和编程人员是相互独立的(黑盒测试用例设计与程序如何实现无关);
  • 从用户的角度进行测试,很容易被接受和理解;
  • 有助于暴露任何与规格不一致或者歧异的地方;

黑盒测试的分类

功能测试(functiontesting)

是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。

  • 逻辑功能测试(functiontesting)
  • 界面测试(UItesting)
  • 易用性测试(usability testing)
  • 安装测试(installationtesting)
  • 兼容性测试(compatibilitytesting)

性能测试(performance testing)峰值(后面详细 现在了解)

是软件测试的高端领域,性能测试工程师的待遇和白盒测试工程师不相上下,通常我们所说的高级软件测试工程师一般就是指性能测试或是白盒测试工程师。

  • 时间性能(事务响应时间等)
  • 空间性能(系统资源消耗)
  • 一般性能测试
  • 稳定性测试
  • 负载测试:通过负载测试来确定在各种工作负载下,系统各项性能指标的变化情况。
  • 压力测试:通过确定一个系统的瓶颈或者刚好不能接受的性能点,来获得系统能够提供的最大服务级别。

灰盒测试

灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,既可保证黑盒的关注点又可掌控白盒的内部结构,但不会去对内部程序功能和运作做详细了解,灰盒测试结合了白盒测试和黑盒测试的要素。

按是否运行分类

 

  • 静态测试(static  testing),指不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误过程。
  • 动态测试(dynamic testing),是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。

验收测试

α测试  

  • Alpha 是内测版本,即现在所说的CB,此版本表示该软件仅仅是一个初步完成品, 通常只在软件开发者内部交流, 也有很少一部分发布给专业测试人员。一般而言, 该版本软件的bug 较多, 普通用户最好不要安装。
  • 软件正式版本推出之前的几个版本, 需要有人测试一下, 看看是不是有问题。在开发该软件的公司内部的由该公司内部人员测试的称为: Alpha 测试, Alpha 测试主要看有没有功能缺失或系统错误, Alpha 测试完后一般不会有大问题了。然后把软件拿给用户测试,称为: beta 测试, 主要是看用户对软件外观、使用方便等的反应。这么多的测试版一方面为了最终产品尽可能地满足用户的需要, 另一方面也尽量减少了软件中的bug。然后做过一些修改, 成为正式发布的候选版本时, 叫做gamma( 现在叫做RC - Release Candidate) 。 简单来说,阿尔法测试主要是测试人员在开发环境下的测试,贝塔测试是在实际环境中的测试,或者公司内部人员在模拟真实环境中的测试。

β测试

  • Beta是公测版本,是对所有用户开放的测试版本。该版本相对于α 版已有了很大的改进,消除了严重的错误, 但还是存在着一些缺陷,需要经过大规模的发布测试来进一步消除。这一版本通常由软件公司免费发布, 用户可从相关的站点下载。通过一些专业爱好者的测试, 将结果反馈给开发者, 开发者们再进行有针对性的修改。该版本也不适合一般用户安装。

γ测试

  • Gamma版本,指的是软件版本正式发行的候选版。该版本已经相当成熟了, 与即将发行的正式版相差无几, 成为正式发布的候选版本。

随机测试(探索测试)

  • 随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试用例没有覆盖到的部分。另外,对于软件更新和新增加的功能要重点测试。重点对一些特殊点情况点、特殊的使用环境、并发性、进行检查。尤其对以前测试发现的重大Bug,进行再次测试,可以结合回归测试(Regressivetesting)一起进行。

软件测试基础入门

最新软件测试视频教程,软件测试基础入门到项目实战(涵盖软件测试基础+黑马头条项目实战)
Linux系统2天快速入门Linux系统操作教程2天快速入门linux项目搭建
MySQL数据库软件测试工程师必备MySQL数据库,mysql系统精讲+课后练习
Python自动测试教程 黑马程序员Python自动测试教程,python从基础到UnitTest框架管理测试用例

自动化测试
Web自动化软件测试web自动化测试,Web自动化流程精讲和移动自动化测试环境
Appium框架视频 零基础入门移动自动化测试——Appium框架
Appium进行IOS真机自动化测试 轻松教你使用Appium进行IOS真机自动化测试【黑马程序员】

接口测试4天玩转接口测试,接口重点全解析+传智健康项目实战(包含requests库,集成UnitTes,Dubbo等诸多工具)

性能测试性能测试全套教程,4天快速入门性能测试+项目商城实战(含JMeter工具等)

综合项目强化
微信小程序自动化测试软件测试微信小程序自动化测试实战
金融项目功能测试软件测试4天快速搞定金融项目功能测试实战教程

一键收藏不谢

本文含有隐藏内容,请 开通VIP 后查看