ken*_*nyg 2 testing automated-tests watir watir-webdriver
我是编写测试用例的新手,这将是我的第一个重大项目,但我对如何设计框架感到困惑(我知道这不是正确的词,但我不确定这个词我是我在这里寻找.
我正在测试的应用程序涉及通过填写Web表单来创建客户端数据库,并在每个客户端下面填写可以填写和保存的其他表单.系统有点复杂,因为在填写某些表格之前必须满足条件,或者除非满足某些先决条件,否则无法选择某些答案.
根据我的研究,我已经看到了解决这个问题的一个好方法是为每个页面创建一个模块,其中为该页面上的每个函数定义一个方法.
那么通过这个想法,对于一个让我们说40个文本字段的页面,我会为每个文本字段创建一个名为"fill_ fieldname "的方法吗?
我还担心在有前提条件时如何将测试用例雾化.例如,如果我需要测试特定表单的功能,我首先需要一个客户端存在.我应该为我正在测试的每个场景创建一个新客户端,还是只为所有场景使用一个客户端?我想我必须在每个测试用例之前进行前置条件检查,以确保客户端仍然"可用"进行测试...
我真的很困惑从哪里开始,我想从一开始就设计一个好的框架,而不是在项目变得太大之后废弃一切.任何提示/建议将非常感谢.
大多数人都会将watir-webdriver与黄瓜或rspec等现有的页面框架配对,以进行组织和验证.在那之后,我相信你指的是页面对象模式框架,易于使用和易于扩展.你可以在这里找到一些很棒的指南:
手动编写测试用例是任何自动化过程中非常重要的一步.有人曾经说过,没有质量手动策略的自动化可以让你比平常更快地犯错误(如果没有其他人这么做,我会得到信用).
希望您有一些关于该应用程序的良好文档或为您提供该产品的业务/用例的人员.从业务案例中生成测试用例非常容易.然后,一步一步地在功能集中分解它.
也可能很难想到端到端的应用程序,并尝试从一开始就包含测试中的所有功能.在拥有一个健壮的框架之前,您可能只需要一些简单的工具类型测试来帮助您更快地设置手动测试,或者使用有意义(但不是很漂亮)的输出执行测试.这是整个过程的一部分.你会废弃你做的一些事情,但当然你不想废弃所有这些.保持简单,使其模块化 - 所有传统的开发概念,如DRY,KISS在这里适用.
良好的自动化测试源于出色的手动测试案例.如果你试图跳过这一步(并且没有丰富的经验),你会后悔的!
有很多好的测试书.我个人喜欢软件测试中的经验教训 - 其中一位作者是WATIR的创始人Bret Pettichord.
一旦您获得了测试基础知识,您就可以进入特定于图书馆的书籍,如WATIR Book,或许多链接到上述Watirmelon和Cheezy的在线博客.