我目前正在为一个大型组织工作,大约有2k开发人员在我们的IT部门工作。我们维护很多东西,包括我们的电子商务平台,目前有大约30个项目正在影响这一点。
最近我们所有的团队都被指示使用Concordion和Selenium Webdriver进行一系列自动化测试。有一段时间,这已经相当顺利,并且已经创建了许多测试,但最近维持现有的测试,而我们的电子商务平台不断变化,这有点像噩梦。我们有成千上万的测试脚本覆盖了我们网站的许多部分,但Concordion似乎没有任何工具可以将脚本拆分成可重复使用的隔间,然后可以维护一次,而不必为一次更改而对数百个HTML文件进行更改
其他人如何接近这个?
答案 0 :(得分:3)
Concordion的目标不是将测试脚本实现为HTML,而是将HTML描述为您正在测试的行为(您试图实现的)。实现细节(如何正在测试)是作为Java代码实现的。然后可以使用适当的抽象级别构造此代码,以便对测试中的系统进行每次更改只需要更改代码的一部分。
您的HTML规范只需要在业务规则发生变化的极少数情况下进行更改。
这些概念在Concordion主页的Hints and Tips选项卡上进一步说明。
答案 1 :(得分:2)
感谢您与我们分享您的经验。很高兴听到/阅读关于行为驱动开发/规范的大规模应用。
可以帮助您的一种方法是关注关键示例(http://gojko.net/2014/05/05/focus-on-key-examples)。在规范研讨会期间,整个团队正在努力获得对新用户需求和要求的共同理解。然后继续编写包含关键示例的规范文档。在那里你不应该试图涵盖所有内容,而是只写出尽可能多的例子来表达共同的理解。 此外,您应该尝试识别示例所基于的概念。是否有一些与类似主题相关的例子 - 这可能是一个潜在的概念。如果他们只关注一个概念(例如卡号的验证),通常更容易理解这些例子。每个概念通常只用几个例子来描述。
您是否有其他类型的自动化测试(例如单元测试)?您是否遇到了与其他测试相同的可维护性挑战?您是否可以使用其他测试类型的良好实践来改进您的Concordion方法?
您能告诉我们有关您的设置的更多信息吗?您已在公司内创建了多少个有效规范?