您认为使用专用测试语言而不是通用语言编写测试有什么好处?使用 TTCN-3 或专有测试语言有什么优势?
使用专用测试语言编写测试有什么好处?
解释和引用软件测试中的经验教训
“我们认为供应商脚本没有令人信服的理由。” ...
- 它们使编码变得困难
- 他们很难学
- 它们干扰了开发人员和测试人员之间的协作
- 很难以他人的工作为基础
有关这些的完整描述,请参见本书。我个人会补充:
它使招聘变得更加困难,因为您需要从更小的人才库中进行搜索
您对供应商作为语言和软件开发环境提供商的技能表示感谢。
您现在被锁定到一个供应商。
我个人认为没有任何好处。当你开始谈论像 Gerkin 这样被广泛采用的、开放的、特定领域的语言时,情况就不同了。
好吧,原来的问题有两个方面。专有测试语言和 TTCN-3。
虽然我完全同意对专有/供应商语言的回答,但我绝对不会将 TTCN-3 包括在这个讨论中。
TTCN-3是一种多用途、国际标准化的测试语言,因此是非专有的。我经常收到这样的问题:“为什么我应该使用 TTCN-3 而不是我的编程/脚本语言 X?”
当然,您始终可以使用编程语言来解决测试自动化之类的问题。
基本上,您应该根据解决问题的效率来选择您的技术。但编写测试只是游戏的一部分。因此,无论您是熟悉您喜欢的语言还是专家,都不会回答相关问题。即我从哪里获得测试框架或测试执行环境、报告功能等。当然我假设你不想自己发明一切。
现在正常的工作假设是您只能使用“正常”编程语言来实现所有目标。
但是,如果您考虑您真正要寻找的东西,那么大多数情况下 - 易于使用但功能强大 - 可扩展 - 没有供应商锁定 - 正确级别的良好工具支持 - 适合您的流程 - 等等。
那么您可以将 TTCN-3 视为一个候选者。
如前所述,它是一种标准化的、多供应商支持的 DOMAIN 特定语言。并且该域正在测试中。尽管如此,它还是试图将测试人员和测试人员的常见问题考虑在内。因此,您可以使用 Java、C、C++ 等扩展基于 TTCN-3 的测试系统。您甚至可以集成自己的工具和环境,并且仍然可以从强大的测试环境中获益。
因此,下次您正在研究一种可以像普通语言一样使用但具有丰富功能和非常好的工具支持的测试自动化时,也许您可以简短地搜索一下 TTCN-3 并尝试一下。
我同意布鲁斯的观点——我没有看到任何好处。
我碰巧目前正在使用一种具有类似 Basic 的专有语言的工具。这是一个了不起的工具,可以满足我的大部分需求。该语言功能齐全,易于学习,非常适合我们的任务和风格。我没有抱怨。
不过,如果它是非专有语言会更好。
专有测试语言对销售专有测试语言的人有利。它们对某些顾问、技术书籍作者、技术会议发言人和需要在简历中添加更多字词的测试人员也很有帮助。对于所有其他人,没有好处。
人们不会用锤子测试螺丝。同样,对于给定的环境,会有一种语言比另一种更适合测试。这并不是因为测试需要特殊的语言特性或更简单的语言。
有时用专门的语言表达测试更容易,因为默认通用语言的语法会妨碍您。这是例外而不是规则。尽管他们愿意提供帮助,但专有测试语言供应商并不能很好地理解您的测试以帮助您。