其他分享
首页 > 其他分享> > 软件测试分类之二(按测试方法/技术区分)

软件测试分类之二(按测试方法/技术区分)

作者:互联网

三、软件测试方法/技术

软件测试分类(按测试方法区分)

  以测试过程中程序执行状态为依据可分为:静态测试(Static Testing,ST)和动态测试(Dynamic Testing,DT),(测试执行阶段采用的方法);

  以具体实现算法细节和系统内部结构的相关情况为根据可分:黑盒测试、白盒测试和灰盒测试三类,(测试用例设计阶段采用的方法);

  从程序执行的方式来分类,可分为:人工测试(Manual Testing,MT)和自动化测试(Automatic Testing,AT);

1.动态测试

  动态测试需要在开发/测试环境或实际运行环境中运行软件,并使用测试用例去查找软件缺陷;

  动态测试包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等  ;

2.静态测试

  静态测试不实际运行软件,主要是对软件的编程格式、结构等方面进行评估;

  静态测试包括代码检查、程序结构分析、代码质量度量等。它可以由人工进行,也可以借助软件工具自动进行;

3.黑盒测试

(1)什么是黑盒测试:

  又称功能测试或数据驱动测试,是针对软件的功能需求/实现进行测试;

  通过测试来检测每个功能是否符合需求,不考虑程序内部的逻辑结构;

  穷举输入测试;

(2)黑盒测试方法:功能划分、等价类划分、边界值分析、因果图、错误推测等

4.白盒测试

(1)什么是白盒测试:

  白盒测试也称结构测试或逻辑驱动测试;

  必须知道软件内部工作过程,通过测试来检测软件内部是否按照需求、设计正常运行;

  通过逻辑覆盖、路径覆盖等方式选择测试用例,可以用测试覆盖率评价测试用例;

(2)白盒测试的主要方法(对应于程序的一些主要结构:语句、分支、逻辑路径、变量):

  语句覆盖方法;

  分支覆盖方法;

  逻辑覆盖方法;

5.灰盒测试

(1)是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。

  灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。

6.人工测试

(1)传统的测试方法

  由测试人员手工编写测试用例

  缺点在于测试工作量大,重复多,回归测试难以实现

(2)手工完成测试的全部过程无法保证测试的科学性与严密性

  修改的缺陷越多,回归测试越困难;

  没有人能向决策层提供精确的数据以度量当前的工作进度及工作效率;

  反复测试带来的倦怠情绪及其他人为因素使得测试标准前后不一;

  测试花费的时间越长,测试的严格性也就越低;

7.自动化测试

(1)利用软件测试工具自动实现全部或部分测试工作:管理、设计、执行和报告;

  自动测试节省大量的测试开销,并能够完成一些手工测试无法实现的测试;

(2)适合自动化的测试操作:

  测试用例的生成(包括测试输入,标准输出,测试操作指令等);

  测试的执行与控制(包括单机与网络多机分布运行;夜间及假日运行);

  测试对象、范围、版本等的控制;

  测试结果与预期输出的对比;

  不吻合的测试结果的分析、记录、分类、和通报;

  测试的统计,报表的产生;

(3)自动测试将测试人员从反复、烦杂的测试执行中解放出来,用更多的时间进行测试设计和结果分析;

  软件测试不可能完全自动化;

  不能完成所有手工测试任务;

  无创造性且灵活性差,不能改进测试的有效性;

  过程中可能会遇到许多意想不到的问题,特别是当软件不稳定时;

  测试脚本的维护高;

 

标签:黑盒,白盒,之二,测试用例,测试,软件,测试方法,软件测试
来源: https://www.cnblogs.com/zhuo-90/p/16541452.html