他山之石,可以攻玉——说说软件测试方法

发表于:2012-4-01 14:13

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:doven    来源:51Testing软件测试网采编

  ● 错误推测法,靠经验和直觉推测程序中可能存在的错误,从而针对性的编写例子

  ● 因果图,适合检查输入条件的各种组合情况

  ● 功能图,形式化地表示程序的功能说明,从而生成测试用例

  3、灰盒

  灰盒测试定义为将根据需求规范说明语言(RSL)产生的基于测试用例的要求(RBTC),用测试单元的接口参数加到受测单元,检验软件在测试执行环境控制下的执行情况。灰盒测试法的目的是验证软件满足外部指标要求以及软件的所有通道都进行了检验。通过该程序的所有路径都进行了检验和验证后,就得到了全面的验证。完成功能和结构验证后,就可随机地一次变化一行来验证软件测试用例在软件遇到违背原先验证的不利变化时软件的可靠性。灰盒测试法是在功能上验证嵌入式系统软件的一种10步骤法。

  一般来说,单元测试采用白盒子方法,有效性测试采用黑盒子方法,集成测试采用混合方法

  4、其它测试技术和方法

  ● 回归测试 (Regression testing)── 每当软件经过了整理、修改、或者其环境发生变化,都重复进行测试。很难说需要进行多少次回归测试,特别是是到了开发周期的最后阶段。进行此种测试,特别适于使用自动测试工具。

  ● 压力测试 (Stress testing)──这种测试是用来检查系统在大负荷条件下系统运行的情况:在非正常的巨大负荷下、某些动作和输入大量重复、输入大数、对数据库进行非常复杂的查询等等,如测试一个网站在不同负荷情况下的状况,以确定在什么情况下系统响应速度下降或是出现故障。也可称性能测试 (performance testing),理想的“性能测试”(也包括其他任何类型的测试) 都应在质量保障和测试计划的文档终予以规定。

  ● 恢复测试 (Recovery testing)── 在系统崩溃、硬件故障、或者其他灾难发生之后,重新恢复系统的情况。

  ● 安全测试 (Security testing)── 测试系统在应付非授权的内部/外部访问、故意的损坏时的防护情况。

  ● 兼容性测试 (Compatibility testing)── 测试在特殊的硬件/软件/操作系统/网络环境下的软件表现。

  5、自动测试工具的作用

  利用自动测试工具可以进行大量的重复性测试,减少劳动强度,而且可以进行那些手工不能实现的负载/性能测试案例,如大量的并发用户操作、成千上万条数据库纪录的操作等。除此之外,还可以进行:

  ● 代码分析:监视代码的复杂程度,坚持标准,等等。

  ● 覆盖分析:这种工具指出哪些代码已经经过测试,可以针对代码语句覆盖、条件覆盖、和路径覆盖等。

  ● 存储分析:例如边界测试和泄漏检查 (bounds-checkers and leak detectors)

  ● Web测试──检查链接是否有效、HTML 代码是否正确,检查客户端和服务器端的工作、web 站点的交互功能是否安全。

  ● 其他工具──用于测试案例管理、错误报告、以及结构管理。

  6、软件可靠性和程序证明技术

  测试可以发现错误,并不能表明程序的正确性。因为:不论黑盒、白盒都不能实现穷举测试。对一些关键程序,如导弹发射软件,则需要考虑利用数学归纳法或谓词演算等进行证明。其基本思想是对程序功能做严格数学说明,然后根据代码,利用数学归纳法或谓词演算证明它确实能实现它的功能说明。也可以利用测试数据,建立软件可靠性模型。

  正确性证明不能取代测试,证明程序功能正确,动态特征无法证明,证明过程有可能出错。目前正确性证明还不实用,工作量太大,将来可能研制出自动证明系统。

相关链接:

工欲善其事,必先利其器,软件测试的器是什么

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号