Acceptance testing

最近在做auto deployment。auto deployment完成后需要运行测试来保证安装完成无误,程序正常工作。

在Agile中,此时应运行acceptance testing。


这里先赞一下wikipedia,对程序开发方面的知识的解释简直是字字珠玑,对Acceptance testing中的解释也不例外:

http://en.wikipedia.org/wiki/Acceptance_testing


  • 定义

Acceptance testing 和 functional testing 是很类似的。二者略有区别,可以去参考我写的《对测试的认识》。

顺便加一句:

A smoke test is used as an acceptance test prior to introducing a build to the main testing process.

  • 在Agile中的作用

在Agile中,acceptance test被赋予了不同的意义和作用

Acceptance Tests/Criteria (in Agile Software Development) are usually created by business customers and expressed in a business domain language. These are high-level tests to test the completeness of a user story or stories 'played' during any sprint/iteration. These tests are created ideally through collaboration between business customers, business analysts, testers and developers, however the business customers (product owners) are the primary owners of these tests. As the user stories pass their acceptance criteria, the business owners can be sure of the fact that the developers are progressing in the right direction about how the application was envisaged to work and so it's essential that these tests include both business logic tests as well as UI validation elements (if need be).

如今很流行的测试框架JBehave,就是用于将非开发人员写的类自然语言的测试用例,翻译成实际的java测试用例。


Acceptance test cards are ideally created during sprint planning or iteration planning meeting, before development begins so that the developers have a clear idea of what to develop. Sometimes (due to bad planning!) acceptance tests may span multiple stories (that are not implemented in the same sprint) and there are different ways to test them out during actual sprints. One popular technique is to mock external interfaces or data to mimic other stories which might not be played out during an iteration (as those stories may have been relatively lower business priority). A user story is not considered complete until the acceptance tests have passed.

也就是说,只有当Acceptance test运行通过后,才认为开发人员完成了在这个sprint中的开发内容。这也就是Acceptance-Test Driven Development的来由。


The acceptance test suite is run against the supplied input data or using an acceptance test script to direct the testers. Then the results obtained are compared with the expected results. If there is a correct match for every case, the test suite is said to pass. If not, the system may either be rejected or accepted on conditions previously agreed between the sponsor and the manufacturer.

The objective is to provide confidence that the delivered system meets the business requirements of both sponsors and users. The acceptance phase may also act as the final quality gateway, where any quality defects not previously detected may be uncovered.

A principal purpose of acceptance testing is that, once completed successfully, and provided certain additional (contractually agreed) acceptance criteria are met, the sponsors will then sign off on the system as satisfying the contract (previously agreed between sponsor and manufacturer), and deliver final payment.

因此作为auto deployment的最后一步,将acceptance test作为最后一关很合理。


原文中列举的List of acceptance-testing frameworks一个都不知道。。。惭愧。。。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值