前言
软件测试方法
从是否关心内部结构来看;
从是否执行代码看;
从开发过程级别看;
从执行过程是否需要人工干预来看;
从测试实施组织看;
从测试所处的环境看;
其他测试类型;
1、从是否关心内部结构来看
白盒测试:又称为结构测试或逻辑驱动测试,是一种按照程序内部逻辑结构和编码结构,设计测试数据并完成测试的一种测试方法。
黑盒测试:又称为数据驱动测试,把测试对象当做看不见的黑盒,在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正确性。
它是站在使用软件或程序的角度,从输入数据与输出数据的对应关系出发进行的测试。
灰盒测试:是一种综合测试法,它将“黑盒”测试与“白盒”测试结合在一起,是基于程序运行时的外部表现又结合内部逻辑结构来设计用例,执行程序并采集路径执行信息和外部用户接口结果的测试技术。
2、从是否执行代码看
静态测试:指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
动态测试:是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能指标。
3、从开发过程级别看
单元测试:又称模块测试,是针对软件设计的最小单位----程序模块或功能模块,进行正确性检验的测试工作。
其目的在于检验程序各模块是否存在各种差错,是否能正确地实现了其功能,满足其性能和接口要求。
集成测试:又叫组装测试或联合,是单元测试的多级扩展,是在单元测试的基础上进行的一种有序测试。
旨在检验软件单元之间的接口关系,以期望通过测试发现各软件单元接口之间存在的问题,最终把经过测试的单元组成符合设计要求的软件。
系统测试:是为判断系统是否符合要求而对集成的软、硬件系统进行的测试活动、它是将已经集成好的软件系统,作为基于整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、人员、数据等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。
4、从执行过程是否需要人工干预来看
手工测试:就是测试人员按照事先为覆盖被测软件需求而编写的测试用例,根据测试大纲中所描述的测试步骤和方法,手工地一个一个地输 入执行,包括与被测软件进行交互(如输入测试数据、记录测试结果等)。
然后观察测试结果,看被测程序是否存在问题,或在执行过程中是否会有一场发生,属于比较原始但是必须执行的一个步骤。
自动化测试:实际上是将大量的重复性的测试工作交给计算机去完成,通常是使用自动化测试工具来模拟手动测试步骤,执行用某种程序设计语言编写的过程
全自动测试就是指在自动测试过程中,不需要人工干预,由程序自动完成测试的全过程;半自动测试就是指在自动测试过程中,需要手动输入测试用例或选择测试路径,再由自动测试程序按照人工指定的要求完成自动测试
5、从测试实施组织看
开发测试:开发人员进行的测试
用户测试:用户方进行的测试
第三方测试:有别于开发人员或用户进行的测试,由专业的第三方承担的测试,目的是为了保证测试工作的客观性
6、从测试所处的环境看
阿尔法测试:是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试
贝塔测试:是用户公司组织各方面的典型终端用户在日常工作中实际使用贝塔版本,并要求用户报告
7、其他测试类型
回归测试(regression testing)是指对软件的新的版本测试时,重复执行上一个版本测试时的用例。
冒烟测试(smoke testing),是指在对一个新版本进行大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。
随机测试(random testing),是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。
软件测试的具体工作流程
软件测试是一个整体性的工作。从项目到手,到测试结果出来和调试,都需要多个层面的技术逐步递进。我们先来看下完整的软件测试流程:
项目需求分析 > 制定测试计划 > 设计测试文档 > 搭建测试环境 > 执行测试过程 > 缺陷管理
接下来,我们再细化了解下软件测试的每个不同阶段,对应的具体工作内容!
1、项目需求分析阶段
项目需求是整个测试过程中的前置条件,也是任何一个测试工作开始前的第一步。所谓的项目需求分析是指测试员分析和确定被测试的项目的测试工作安排。也就是该项目我们需要测哪些模块,什么样的结果是符合产品需求的预期结果。
2、制定测试计划阶段
测试计划制定阶段其实主要的任务就是编写完整的测试流程安排,测试哪些模块,用什么方法测试,比如常见的冒烟测试、随机测试、黑盒测试、性能测试等等。
以及不同测试阶段的测试人员工作安排、工作目标等等。这个阶段对测试主管的整体测试调控能力有很高的要求。
3、设计测试文档阶段
这个阶段是整个软件测试的基础也是核心阶段。这个阶段的主要工作是编写测试用例、参考项目的设计原型图、产品的设计需求和详细设计标准等。
而测试用例的意思就是用来进行模拟测试比对结果的数据。后续我们会将测试得出的结果进行评审。
4、搭建测试环境阶段
不同的产品对测试环境有着不同的要求。能做好软件测试工程师这门工作的一个指标就是能独立搭建项目的测试环境。
例如App的测试环境,需要会使用Appium+Python,掌握如何使用Adb以及手势模拟等。Web自动化测试需要掌握Python+Selenium环境搭建。接口自动化测试需要掌握Python+Requests+Pytest等等
5、执行测试阶段
这个阶段就是开始正式的测试工作了。一般向单元测试、集成测试、系统测试、验收测试以及回归测试等等。每个阶段对应了不同的测试具体执行细节。
6、缺陷管理
缺陷管理主要是用于收集、管理和沟通项目缺陷的过程,重点考察的是缺陷的识别和缺陷的解决。这个阶段一般会用到一些系统化的缺陷管理工具,类似于禅道、Test Director、Bugfree等。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取**
【保证100%免费】
**
版权归原作者 犯困小咩 所有, 如有侵权,请联系我们删除。