有三种主要类型的自动化测试。
一、自动化单元测试 编辑
自动化单元测试在代码级别上进行测试。bug是在开发人员编写的函数、方法和例程中识别出来的。
一些公司要求开发人员自己进行单元测试,而有些公司则雇用专门的测试自动化资源。这些资源可以访问源代码,它们编写单元测试来破坏生产代码。由于单元测试的存在,每当代码编译时,所有单元测试都会运行,并告诉我们是否所有功能都正常工作。如果任何单元测试失败,这意味着现在生产代码中存在一个bug。
市场上最流行的一些工具是NUnit和联合股。微软还提供了自己的单元测试框架,称为MSTest。通过这些工具的网站,他们将提供如何编写单元测试的示例和教程。
二、自动化Web服务/API测试
应用程序编程接口(API)使软件能够与其他软件应用程序进行对话。就像任何其他软件一样,API也需要进行测试。在这种测试中,桂通常不涉及。
我们在这里测试的通常是功能、遵从性和安全性问题。在Web应用程序中,我们可以测试应用程序的请求和响应是否安全和加密。
这是我们可以使用API测试的示例之一。最流行的api测试工具是SOAPUI它既有免费版本也有付费版本。还有其他工具,您可以根据需要使用这些工具。
三、自动GUI测试 编辑
这种类型的自动化测试是最严格的自动化形式,因为它涉及应用程序的用户界面测试。
这很难,因为GUI很容易改变。但是,这种类型的测试也最接近于用户对我们的应用程序所做的操作。由于用户将使用鼠标和键盘,自动GUI测试也通过使用鼠标和键盘来单击或写入用户界面上的对象来模仿相同的行为。因此,我们可以尽早发现bug,并且可以在许多场景中使用,比如回归测试或填充表单,这需要花费太多的时间。
最流行的GUI测试工具是QTP(现称UFT), 硒, 测试完成和Microsoft编码UI(这是VisualStudio终极版和高级版的一部分)。
四、自动化测试的几个误区
多年来,我听到了一些关于测试自动化的误解。我想我也应该在这篇文章中澄清这些问题。
误解#1. 自动化将取代手动测试人员。
测试自动化是为了帮助测试人员以更快、更可靠的方式进行测试。它永远无法取代人类。
把测试自动化想象成一辆汽车。如果你走路,你大约要花20分钟才能到达你的家。但是如果你用一辆车,两分钟内你就会到达。汽车的司机仍然是你,一个人,但是.汽车帮助人类更快地实现他/她的目标。而且,你的大部分精力都被节省了,因为你没有走路。所以你可以利用这些能量来做更重要的事情。
自动化测试也是如此。您可以使用它快速测试大部分重复的、冗长的、乏味的测试,并节省您的时间和精力来集中精力和测试新的和重要的功能。
如詹姆斯·巴赫一句精彩的话说:
“工具是不会测试的。只有人来测试。工具只执行“帮助”人们测试的操作。
工具可以单击对象。但是点击的位置总是由手动测试人员来告诉的。我想你现在明白我的意思了。
误解2. 阳光下的一切都可以自动实现。
如果您尝试100%地自动化您的测试用例,也许您将能够这样做,但是如果您可以这样做,那么我们的第一点就会变成错误。因为如果一切都是自动化的,手动测试人员将做什么?