📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
让我们来谈谈语言和清晰测试。我们一直在使用语言。我现在就在用!你能理解我,因为你懂同样的语言!
太神奇了!
我知道这听起来很平常,但在自动化测试中,我们使用了其他语言。我不是在说编程语言。
来看一个例子。
这是一个普通的网络测试。我们都能理解它在做什么,对吧?
原因是,我们被告知,网络测试是关于元素及其操作的——点击、勾选和取消勾选、启用和禁用。
故事是什么?
所以,测试是可读的,但它讲述的是应用程序的故事吗?让我们看看应用程序。
勾选“我已阅读并同意全部条款”复选框,会启用“注册”按钮;
取消勾选则会禁用该按钮。
虽然我们的测试检查了操作,但它并没有告诉我们其含义。当然,当我写它的时候,我会觉得每个人都能理解。但过了一两周,我甚至自己都不记得了。对于更复杂的测试来说,这就成了错误、不幸和绝望的根源。在极端情况下,甚至可能引发暴力行为。
技术语言
我们一直都在这样做。我们使用一个或两个框架来编写测试,在这个例子中是 Playwright,但也可以是任何框架——用于 API 调用、日志记录、报告等。
我们使用的每个框架都是为广泛的应用程序设计的。它不知道我们的术语、我们的领域。这就是为什么它使用自己的语言,而且通常是技术性的。
在我们的测试中,是元素、“点击”、“填写”。即使是“启用”或“禁用”这些术语,其实也很技术性,我们只是习惯了,觉得它们是领域的一部分。
我可以更改测试的名称,以解释其目的,如下所示:
这样更好。这通常是我们在描述这里发生的事情时所能达到的极限。
但对于更复杂的测试,这可能就行不通了。我需要添加许多注释来解释发生了什么。
清晰的测试讲述故事
或者我可以这样重写测试:
现在,测试的意图,或者说是我的意图,变得更加清晰了。我期望即使是非技术人员也能理解。我可以在测试审查时验证这一点。
我们的测试可以包含多种语言。我们通常将技术语言与领域语言混合使用。虽然使用第一种语言很容易编写(或者让“意大利面怪物在天空中”帮助我们——生成),但使用领域语言可以降低误解和错误的风险,更不用说可维护性了。
顺便提醒大家,清晰地(并且干净地)编写测试是“清晰测试”工作的一部分。不妨去了解一下。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】