打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
四、软件测试方法/技术(黑盒白盒、动态静态、人工和自动化)

四、软件测试方法/技术

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

以测试过程中程序执行状态为依据可分为:静态测试(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)自动测试将测试人员从反复、烦杂的测试执行中解放出来,用更多的时间进行测试设计和结果分析;

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

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

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

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

测试脚本的维护高;

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
软件测试策略
软件测试的流程及策略
阴阳平衡,优势互补,方为测试之道
【心得】我谈软件测试
两个星期学会软件测试?我震惊了!
[转]软件测试理论/方法/实践 项目管理——求变
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服