常用的软件测试方法及特点分析

常用的软件测试方法及特点分析

1、主要软件测试方法:

  • a. 黑盒测试、白盒测试、灰盒测试
  • b. 静态测试、动态测试。
  • c. 人工测试、自动化测试

2、 软件测试的两种极端情况:

  • 第一种:知道产品的需求规格,但是不知道其内部逻辑实现,可以进行测试证明每个需求是否实现—黑盒测试—关心业务需求

  • 第二种:知道产品的内部逻辑实现功能,可以通过测试证明每种内部操作是否符合设计规格的要求,所有内部成分是否通过检查—白盒测试,–早期介入进行,庞大的测试系统在现实中不太现实。

现实中大多用黑盒测试。
灰盒测试是白盒测试和黑盒测试两种相结合测试。

白盒测试(又称逻辑驱动测试,结构测试),依据被测软件分析程序内部构造,并根据内部构造设计用例,来对内部控制流程进行测试,可完全不顾程序的整体功能实现情况,白盒测试的主要方法有逻辑驱动,基路测试等,主要用于软件验证。

白盒测试工具是对源代码进行的测试,测试的主要内容包括词法分析与语法分析,静态错误分析,动态检测等。目前测试工具主要支持的开发语言包括:标准C、C++、VisualC++、Java、Visual J++等。

白盒测试常用技术:

  • 静态分析:控制流分析、数据流分析、信息流分析等
  • 动态分析:逻辑覆盖测试(分支测试、路径测试等)、程序插装等

白盒测试中常见的覆盖有六种:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖(测试力度逐渐增强,最常用的是组合覆盖法,路径覆盖法对大型的测试用例来讲,太复杂,时间过长)

黑盒测试是一种重要的测试策略,又称为数据驱动的测试或输入/输出驱动的测试。使用这种测试方法时,将程序视为一个黑盒子。测试目标与程序的内部机制和结构完全无关,而是将重点集中放在发现程序不按其规范正确运行的条件(发现问题,解决成本比较高)。

黑盒测试特点:

  • 对于更大的代码单元来说(子系统甚至系统级)比白盒测试效率要高;

  • 测试人员不需要了解实现的细节,包括特定的编程语言;

  • 从用户的视角进行测试,很容易被大家理解和接受;

  • 有助于暴露任何规格不一致或有歧义的问题;

灰盒测试确实是介于二者之间的,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。

灰盒测试特点:

  • 灰盒测试结合了白盒测试和黑盒测试的要素.它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。
  • 灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识盒与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。
  • 灰盒测试涉及输入和输出,但使用关于代码和程序操作等通常在测试人员视野之外的信息设计测试。

静态测试:(是否运行被测软件,分为静态测试和动态试)

不运行被测试的软件系统,而是采用其他手段和技术对被测试软件进行检测的一种测试技术。例如:代码走读、文档评审、程序分析等都是静态测试的范畴。常用技术有静态分析技术。

动态测试:

按照预先设计的数据和步骤去运行被测软件系统,从而对被测软件系统进行检测的一种测试技术。常用技术有动态分析技术。

人工测试:

测试活动(如评审、测试设计、测试执行等)由人来完成,狭义上是指测试执行由人工完成,这是最基本的测试形式

自动化测试:
一般是指通过计算机模拟人的测试行为,替代人的测试活动,狭义上是指测试执行由计算机来完成(主要是回归测试中使用,就是一些重复性的功能的测试,新功能不建议使用自动化测试,手工测试发现bug能力强)。

该文档如有侵权请及时联系,我会及时删除!!!
谢谢

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值