考虑软件的可测试性需求

发表于:2012-10-18 10:48

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

 作者:肖利琼    来源:51Testing软件测试网采编

  本文讨论站在测试角度本身可测试性需求的问题。可测试性需求需尽早发现,否则到了项目后期,就会陷入一种欲罢不能的状态。甚至对于一些需求,由于它很重要,但由于又不可测,犹如一把悬在空中的镜,想把它拿下来,但由于悬得太高,只能“望洋兴叹”。

  可测试性(Testability),简单地说,是指软件可以被完全有效测试的程度。这一概念的解释最早在1990年的IEEEstd.610.12中给出。Freedman在1991年提出把可测试性定义为可控制性(Domain-controllable)和可观察性(Domain-observable)的集合,随着时间的推移这一概念不断丰富完善。目前软件可测试性要求主要包含可观察性(即可见性)、可控制性、可操作性、简单性和稳定性等。由于前二者更具代表性,下面主要介绍它们的特性与使用场景。

  1、可见性

  指被测软件的状态、数据输出、资源利用和其他影响能被准确地测试到,以决定测试是否通过。

  可见性,并不限制在UI界面中能看到数据或状态的输入与输出。一些软件由于工作本身服务于底层,如主机与客户端的通信、后台数据库的处理,这些数据的中间处理过程在UI层并不可见,此时就存在一种可测试性的问题。当然解决类似问题的方法很多,如增加日志记录就是一种常用且很好的方式。通过日志记录的内容,测试人员可以很清楚软件的中间处理过程。我们熟悉的Windows操作系统自带的日志记录便是一个例子(用鼠标右键单击“我的电脑”,在弹出的快捷菜单中选择“管理”命令,打开“系统工具”文件夹,选择“事件查看器”), 如图所示是日志记录的片段。

图 Windows系统日志记录片段

  图中的这些信息都是操作系统自动记录的,只要你设置好相关条件,系统就会按你的要求在后台默默无闻地记录下所有相关信息。通过它可以了解系统的“喜怒哀乐”和“一言一行”,虽然都是一些流水账,但我们既可以从中品尝到成功的喜悦,也可以找到失败的原因,实在是一个忠实的系统助手。类似地,对我们所测试的软件,同样可以提出这方面的测试需求,把需要的数据、操作记录通过日志形式记录下来,需要时进行分析,这无论对测试人员还是开发人员无疑都是福音。

  2、可控性

  指能向被测软件输入预期的数据,或修改它的状态,如一个应用程序有事件触发的阈值,能够设置和重新设置那些阈值可简化测试。

  测试过程中,常会遇到一些测试环境难于模拟,但实际情况又有可能发生的场景,如运行在某特殊仪器上的监控软件,由于不同的环境温度对仪器的工作有影响,要求当仪器检测到正常工作范围外(超高温或超低温)的温度时,进行不同警戒的报警。而这种关于环境温度的用户场景,测试人员不好实际模拟,环境温度的变化也难于控制。存在一个可控性的测试需求,需要开发一个特殊测试工具与软件接口方可解决这个问题。

  关于可控制性的测试需求,在我们实际工作中会经常遇到,如模拟成千上万用户同时访问某一网站,同时点击“登录”等。在相关的压力、性能的测试上更是如此。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号