浅议软件可靠及安全测试

发表于:2011-4-08 14:39

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

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

分享:

  4、编写测试报告

  按软件可靠性估计的要求整理测试记录,并将结果写成报告。笔者认为,软件可靠性测试的关键在于:对需求、输入、数据域的识别及相关概率分布的确定。按照概率分布随机生成测试实例,并确定测试顺序。

  软件可靠性是软件质量指标体系中最重要的质量指标之一,软件可靠性指标的高低,决定了软件是否能稳定、可靠性地工作。软件中的错误是在软件的开发过程中,因为人的错误而引入到软件中的,而且这种错误的出现是不可避免的。经过可靠性测试的软件系统可以大大降低因软件系统的实效而造成的损失。但是软件可靠性测试也不是万能的,它可以有效降低软件系统实效的可能,但是不能将软件系统中存在的错误都排除(实际上在可预见的未来也不可能把软件中的所有错误都排除)。

  对软件进行安全测试是软件测试的重要研究内容。软件安全测试是保证软件能够安全使用的最主要的手段,如何进行高效的安全测试成为业界关注的话题。多年的安全测试经验告诉我们,做好软件安全测试的必要条件是:一是充分了解软件安全漏洞,二是拥有高效的软件安全测试技术和测试工具。

  软件安全性测试的方法:

  (1)形式化安全测试。模型检测用状态迁移系统S描述软件的行为,用时序逻辑、计算树逻辑或演算公式F表示软件执行必须满足的性质,通过自动搜索S中不满足公式F的状态来发现软件中的漏洞。

  (2)基于模型的安全功能测试。基于模型的测试方法是对软件的行为和结构进行建模,生成测试模型,由测试模型生成测试用例.常用的软件测试模型有有限状态机、UML模型、马尔可夫链等。

  (3)语法测试。语法测试是根据被测软件的功能接口的语法生成测试输入,检测被测软件对各类输入的响应。接口可以有多种类型,命令行、文件、环境变量、套接字等。语法测试基于这样一种思想,软件的接口或明确或隐含规定了输入的语法。语法定义了软件接受的输入数据的类型、格式。语法定义可采用BNF或正则表达式。语法测试的步骤是识别被测软件接口的语言,定义语言的语法,根据语法生成测试用例并执行测试。生成的测试输入应当包含各类语法错误,符合语法的正确输入。不符合语法的畸形输入等。通过察看被测软件对各类输入的处理情况,确定被测软件是否存在安全缺陷。语法测试适用于被测软件有较明确的接口语法,易于表达语法并生成测试输入的情况。语法测试结合故障注入技术可得到更好的测试效果。

  (4)模糊测试。模糊测试(Fuzz Testing)是一种发现安全漏洞的有效的测试方法,在安全性测试中越来越受到重视。模糊测试将随机的坏数据插入程序,观察程序是否能容忍杂乱输入。模糊测试是不合逻辑的,只是产生杂乱数据攻击程序。采用模糊测试攻击应用程序可发现其他采用逻辑思维来测试很难发现的安全缺陷。

  (5)基于属性的测试。相关报道描述了基于属性的测试方法,采用TASPEC语言对软件的安全属性进行描述生成安全属性规格说明,利用程序切片技术抽取与这个安全属性相关的代码,测试这部分代码是否违反安全属性规格说明。基于属性的测试有针对性的测试目标软件的特定安全属性,可满足安全属性的分类和优先级排序要求,且部分与具体软件无关的属性规格说明是可重用的。

  软件测试一方面是业务需求检查、验证的一种手段,也是检查软件功能是否按照系统需求进行设计,是否符合客户的需要;另一方面也是通过有限的测试数据案例检查发现程序中存在的Bug是保证软件质量至关重要的一步。对于像银行这样的公司,对系统的要求是每天24小时不间断工作,特别是国内各商业银行大集中以后,如果软件存在Bug引起系统不稳定,一旦出现系统宕机或客户资金损失,就会造成全国范围内业务无法办理,将产生巨大的影响。所以说,对于一个大型应用处理软件系统,测试贯彻于其中,是一项非常重要的工作,是项目研发中一个相当重要的步骤。而测试质量的好坏直接关系到整个系统能否按期正常投产,关系到系统投产后业务处理是否正确,关系到整个系统运行的可靠性、稳定性。

  管理大师彼得?德鲁克说:“组织管理的目的就是为了使人们能为实现目标而有效地工作,为此必须设计和维持一种职务结构”。因此,要做好软件测试工作,在软件公司内部必须建立一个专门负责软件产品测试的组织,并配备负责软件公司全面测试工作的测试管理人员和配备一定数量的具有测试理论、掌握软件测试技术的专业测试人员。可以根据软件公司规模的大小设置软件测试组织的组织架构、隶属关系和确定软件测试人员的数量。

  近年来,以软件测试为中心的软件质量保障技术在软件生产实践中得到了迅速发展,软件测试已经成为软件生产中必不可少的质量保障手段。

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号