他山之石,可以攻玉??说说软件测试方法
作者:网络转载 发布时间:[ 2012/4/1 16:21:56 ] 推荐标签:
● 错误推测法,靠经验和直觉推测程序中可能存在的错误,从而针对性的编写例子
● 因果图,适合检查输入条件的各种组合情况
● 功能图,形式化地表示程序的功能说明,从而生成测试用例
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、软件可靠性和程序证明技术
测试可以发现错误,并不能表明程序的正确性。因为:不论黑盒、白盒都不能实现穷举测试。对一些关键程序,如导弹发射软件,则需要考虑利用数学归纳法或谓词演算等进行证明。其基本思想是对程序功能做严格数学说明,然后根据代码,利用数学归纳法或谓词演算证明它确实能实现它的功能说明。也可以利用测试数据,建立软件可靠性模型。
正确性证明不能取代测试,证明程序功能正确,动态特征无法证明,证明过程有可能出错。目前正确性证明还不实用,工作量太大,将来可能研制出自动证明系统。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11