Twist(http://studios.thoughtworks.com/twist-agile-test-automation)是Thoughtworks Studio(http://studios.thoughtworks.com/)开发的又一款敏捷开发相关的产品。这是一个功能测试(Functional Tests,FT)的集成开发环境,将FT的自动录制,开发,维护,报表功能集中到同一个平台上。
自动化测试将测试人员从无意义的重复劳动中解救出来。但是目前,功能测试自动化普遍遇到两个问题:
自动化测试,基本上是技术人员,也就是Dev们在开发。他们的确对技术十分精通,但往往陷入技术细节。如果进行功能自动化测试的开发,他们往往不能准确把握“功能测试”这个层次。而真正理解并掌握业务逻辑的,是Analysts,是BA们和QA们,他们更知道功能测试应该涵盖的范畴,他们往往更能够设计出更有价值的功能测试。但是,很遗憾,他们的开发功力往往不够。
我们为每个用户故事或功能点书写测试用例(Test Cases)和验收标准(AC,Acceptance
Criteria),依靠自动化测试和手工测试共同来验证这些用例和标准是否通过。在自动化测试中,很难将测试代码集与书写好的文档相关联,在代码注释中加入测试用例ID或AC标号显然是下下策。即便敏捷Dev们将测试代码重构到极致,我们也无法将测试代码做为与客户业务人员交流的媒介。
Twist和它的开发者认为:合作产生高效;测试是资产。
合作产生高效。Twist使Analyst们和Dev们合作开发功能自动化测试成为可能。精通业务逻辑的Analyst们掌握测试层次,精通技术的Dev们掌握开发细节,Twist给他们提供的高效的交流、合作开发的平台。它抚平了自动化测试的痛处1。
测试是资产。资产只能在有效的组织下才能发挥更大价值。Twist管理和组织下的测试,就是一组分类了的、简明易懂的且可执行的文档。这种管理结构下的测试代码,是团队中的任何成员都可读懂的,是易于与客户交流的,所以,也是价值最大化了的。它抚平了自动化测试的痛处2和3。
我有一个梦想,DSLs可执行...
就像
Open login page
1 Show user name empty error message without user name and password
2 Show user name empty error message with only password "qqq"
3 Show password empty error message with only user name "qqq"
4 Show login failed error message with user name "qqq" and password "qqq"
5 Login with user name "User" and password "111" 6 Logoff
可执行,并且停在出错的步骤。
我有一个梦想,AC表格可执行...
就像
User name | Password | Error Massage |
User name or password can not be empty | ||
123 | User name or password can not be empty | |
123 | User name or password can not be empty | |
123 | 123 | User name or password is invalid |
在出错的地方标红。
我有一个梦想,用中文的DSLs可执行...
就像
1用"用户1"和"123"登录
2打开"Home Page"
3登出
可执行
让我们带着梦想,开始Twist之旅