测试艺术:攻破软件的策略与方法
5星 · 超过95%的资源 需积分: 9 116 浏览量
更新于2024-09-13
1
收藏 1.51MB PDF 举报
"如何攻破软件 - James Whittaker"
本文主要探讨了如何有效地发现软件设计和开发中的缺陷,作者James A. Whittaker提出了一个系列的手动、探索性测试方法,称之为“攻击”。这些方法源于对实际软件缺陷的深入研究和抽象,经过佛罗里达理工学院软件测试课程的分析和提炼,形成了多种有效的攻击策略,能够快速发现软件的缺陷,即使对产品的了解有限。
测试人员的优秀并不完全依赖于天生的直觉,而是可以通过学习和实践来培养的。测试人员通常会积累一套个人的攻击策略库,面对不同的测试场景时,他们会灵活运用这些策略来找出问题。尽管这些策略往往没有被正式记录,但在手工测试中起着关键作用。
Whittaker将攻击策略分为三大类:输入/输出攻击、数据攻击和运算攻击。每种类别都有其特定的子类型,能引发各种软件故障。文章通过具体的缺陷实例,详细阐述了每个类别中的攻击方式,并且这些方法在微软以及其他公司的产品上都得到了验证,证明了其普遍有效性。
输入/输出攻击,即黑盒测试,侧重于检查软件对外部输入的处理和对外部输出的响应。测试人员不考虑内部实现,仅关注软件的外部行为,寻找可能的输入错误和输出异常,以暴露软件在边界条件、异常输入和数据格式处理上的问题。
数据攻击则专注于软件处理数据的方式,包括数据的存储、传输和计算。测试人员会尝试修改、注入或破坏数据,以观察软件在异常数据情况下的行为,以此发现数据一致性、安全性和完整性方面的漏洞。
运算攻击主要针对软件的逻辑和控制流程,测试人员会尝试通过操纵条件判断、循环结构和算法来找出可能导致软件行为不正确的计算错误。这包括对异常条件的处理、逻辑错误和性能问题的探测。
这些攻击策略为软件测试提供了有力的工具,无论是在Web开发还是其他领域,都能帮助找出并修复软件中的缺陷,提高软件质量。而将这些手工测试策略转化为自动化测试是下一步的挑战,以实现更高效和广泛的缺陷检测。
2017-10-27 上传
2023-05-11 上传
2023-09-15 上传
2023-02-07 上传
2023-08-08 上传
2023-06-09 上传
2023-06-02 上传
2023-05-29 上传
andy572633
- 粉丝: 123
- 资源: 1
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章