自动化测试成功的关键: 制定计划

发表于:2008-3-03 18:50

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

 作者:未知    来源:网络转载

        在本文中,我们要讨论为什么进行测试,尤其是自动化测试,是必需的。然后,我们将介绍制定计划的概念:为什么制定计划是如此的重要?在随后的文章中,我们将分解测试计划中的不同因素,并且研究如何进行制定计划的过程才能最大程度地增加成功的机会。
        现代客户端/服务器应用程序是非常复杂的,因此测试也就成为开发过程中关键的并且至关重要的一部分。现在,没有人会考虑(或者承认)不对自己开发的软件进行测试工作。但是,研究和调查表明,在软件开发过程中,制定测试计划却常常是优先级较低的工作项目。而且,更加糟糕的是,计划往往没有被执行,或者即使执行了,也进行的不很完整、不很准确,或者没有持续进行。

        假设我们都赞成测试是必要的,那么我们接下来必须回答这些问题:我们如何进行测试?实际上都包括哪些内容?我们如何保证已经进行了有效的工作,并且真正地改善了应用程序的质量?

答案很简单:制定计划。

        本文是系列文章中的第一篇,该系列文章将评审在软件生命周期中制定测试计划的作用,以及有效制定测试计划的有关概念。在本文中,我们要讨论为什么进行测试,尤其是自动化测试,是必需的。然后,我们将介绍制定计划的概念:为什么制定计划是如此的重要?在随后的文章中,我们将分解测试计划中的不同因素,并且研究如何进行制定计划的过程才能最大程度地增加成功的机会。

为什么花费精力制定计划?
        现在看来,没有怎么制定测试计划而造成的后果比以前更加明显了。失败的案例有很多--看看报纸或者杂志就知道了。还有一些明显的低质量软件的案例,它们包括:

        AT&T-一个软件交换系统,系统崩溃造成了美国几乎24小时的长距离通信中断。仅仅修改了一行源代码就解决了问题。 
        Denvor机场--软件的缺陷延误了机场的开放几乎长达9个月之久,据估算,每天花费纳税人大概$500,000。 
        Ashton-Tate--在80年代,Ashton-Tate的DBASE软件是基于PC的数据库应用程序的实际标准。版本中的缺陷导致了利润的减少,最终造成了Ashton-Tate(和DBASE)的转让。Ashton-Tate最后被Borland(拥有极具竞争力的数据库管理应用程序,Paradox)收购。 
        当然,这些都是知名度很高的公司和项目。这些问题不会出现在您的公司中,对吗?

        错误!我们都要面对软件的缺陷,在我们的组织中与外界都是一样,这些问题都是关键的,也是很明显的。这里有一些低质量软件的更加共同的症状:

生产力损失

系统性能
缺少功能/特性
没有满足用户需求--无法销售
用户挫折感

强迫用户以不直观的方式执行任务
循环工作
延迟
没有满足预期目标
存在用户操作错误与理解错误
系统崩溃,数据丢失/破坏
客户端/服务器应用程序到底有什么差别?

        客户端/服务器应用程序为质量保证专家带来了不同的挑战,下面是一些比较重要的内容:

快速应用程序开发

        大多数的客户端/服务器应用程序都使用快速程序开发(RAD)方法学进行开发。测试人员必须"努力跟上"这些较短的开发周期。早些时候,非客户端/服务器应用程序常常使用18-24个月就完成了整个的开发过程和初始部署。现在,使用RAD,应用程序的发布需要经过多次部署或者"块"。每个块都基于以前的版本,并且包括改善、修改和修理。每个块都需要多次创建或者迭代的原型。每个块都需要进行测试,并且在3-6个月的更短时间内完成。

客户端/服务器架构

        当前的客户端/服务器应用程序都需要很多的软件组件结合起来以实现功能,包括客户端应用程序、工作站操作系统、网络和数据库管理系统。常常也包括其他的组件,例如为实现正确执行而包含的附加源代码的DLL(动态连接库)、事务处理器或者应用程序与数据库管理服务。软件的每个附加"层"都在客户端/服务器架构中增加了额外的复杂度(并且需要进行测试)。

多种类型的测试

        另外,测试客户端/服务器应用程序也需要使用许多不同类型的测试方法,例如,功能测试、用户界面、性能测试以及配置测试。这些测试都针对一个或几个测试目标。为了防止测试迂回不前或者尝试同时测试所有内容,每种测试必须制定仔细的计划。当您进行自动化测试时,这一点尤其正确。

数据

        对于我们执行的每种类型的测试,都必须使用数据。数据对于测试的执行和成功完成来说是至关重要的,因为要使用数据识别最初的应用程序数据状态(条件),并且调用或者引出特定的事件或者操作。而且也要使用数据来验证测试事件或者操作是否运行正常!

制定测试计划的其他原因

        如前所述,现代的应用程序与以前开发的应用程序相比具有很大的不同。客户端/服务器技术加强了我们开发与部署以任务关键型的企业系统的能力,而且花费的周期更短,提供的功能更加强大。客户端/服务器应用程序也为开发人员与终端用户提供了大量的选择和控制。但是使用这些好处的同时,也需要加强测试。

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号