软件项目验收测试研究
作者:网络转载 发布时间:[ 2016/6/15 11:10:31 ] 推荐标签:验收测试 自动化测试
但是,客户往往不懂技术,无法理解任何为验证需求所开发的测试代码。因此,验收测试在编写时,不要向客户展示代码,而是使用语言描述验证测试,也是以几句话定义高层次观点。验收测试有多种编写形式,如Given、When、Then的语法是一种现在较为流行的验收测试编写语法,具体测试用例编写如下所示:
· 假定有一个新用户账号(Given)
· 当其在系统中创建时(When)
· 那么默认密码应当是P@ssw0rd(Then)
在测试解决具体问题的时候,根据需要,测试表述可以更为复杂:
· 假定有一个超支账户(Given)和一个有效的借记卡
· 当客户从ATM机上取现金时(When)
· 那么显示一条错误信息(Then),没有现金返回,将卡退回给该客户
这种形式的测试将促使客户与开发团队更好地交流并定义验证测试,验证和敲定各个细节。这种测试定义形式并没有过多地使用专业术语,如果测试用例以这种方式定义,客户将对测试更加热心。因为客户在项目开始的时候表明希望交付软件的实现什么功能,并且在软件交付后能看到参与编写的所有测试都能有效通过。
验收测试应当将注意力放在业务问题和场景上,使用与业务相同的语言来描述测试。其优势在于;第一,不需要技术背景能够理解场景和预期结果;第二,如果软件底层发生变更,不需要退回并更新这些测试来反映这一变更。因为验收测试是高层次的,可能涵盖了代码库中的许多不同组建。验收测试不应该依赖于具体的细节,因为随时间的推移,这些细节会发生变更。如果由于丢弃或以某种方式进行变更而使用户使用情景不再有效,应该更新测试来反映这一点。
闲置的验收测试和不再使用的测试对于项目和测试套件来说是有害的。测试套件应当尽可能地精简和集中,拥有足够的测试来提供较高层次的保障,但不应冗余和重复。
执行验收测试可以手动或自动。尽管手动测试看起来是更快的选择,但从长久看来更加耗时,因为每次修改系统某个部分,都需要重新运行。随着系统的增长,手动测试将变得更加耗时,并导致更多错误,可见手动执行这些测试并不像想象的那么简单。除了手动完成验收测试,也可以利用工具自动完成。
3、自动化验收测试工具
目前,流行的自动化验收测试工具是FitNesses。该工具是基于Fit(Framework for Integrated)的。FitNesses提供了一个Wiki前端,可用来管理测试用例和脚本,使得整个团队和客户能够合作创建验收测试用例。除了Wiki前端之外,FitNesses还提供了一个基础代码库用于处理Wiki和测试系统之间的通信。这提供了一个与系统进行交互的抽象试图,能够更方便地编写验证测试。
除了FitNesses,也可以使用Cucumber来实现自动化验收测试。Cucumber 是一个能够理解用普通语言描述的测试用例的支持行为驱动开发(BDD)的自动化测试工具,用Ruby编写,支持Java和.Net等多种开发语言。
4、结语
相比单元测试,验收测试大的优势是更容易应用于遗留代码。遵循验收测试方法,可以立即围绕项目添加客户验收测试,并提供一定层次的自动化测试,不必对项目和测试方法进行大规模重构。验收测试实际上为遗留代码提供了增值收益,通过一套坚实的客户验收测试,可以在后台重构代码,并添加单元测试,验收测试将提供额外的安全网,确保在重构阶段没有造成破坏。验收测试提供了一个良好的端对端安全网。
软件项目验收测试非常重要和有价值,它可以确保软件系统满足客户实际需求。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
更新发布
功能测试和接口测试的区别
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热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南