# 一起读测试论文(1)--web自动化测试工具




最近看到了一篇2014年的论文，在google scholar上面排名比较靠前，随便浏览了一下，内容非常的平易近人，可以给大家分享一下。

在介绍部分，文章说道，软件测试是软件研发流程中的重要一环，占到整体时间周期的40%-70%，软件测试的目的是

* 确定软件符合需求
* 准确实现了特性
* 满足金主的预期和需求

总之一句话，软件测试很重要。

下面文章又介绍了测试的类型

* 静态测试和动态测试
* box approach方法，应该是灰盒测试
* 手工和自动化测试

下面是手工和自动化测试的比较

* 执行速度上：手工慢，自动化快
* 人力资源投入上：手工要投人测，自动化不需要
* 隐藏信息上：自动化可以拿到隐藏信息，手工不行，这条我也不是很理解
* 可靠性上：自动化测试每次执行的结果都很精确，手工测试同样用例每次执行结果可能不一样

### 测试工具的进化史

这是比较有意思的部分了。 下面的文字属于机翻，可能语义上没那么准确。

软件测试其实并不是什么新鲜事，在40年代用于测试软件的程序员中，他们不仅是测试人员，也是开发调试人员 在整个六十年代，有关测试，例如IFIPS会议的议事录，几乎假设程序员已经测试了他们所使用的软件。 随着更大，更复杂的系统的出现，专门的软件测试人员开始流行。 第一次测试软件会议于1972年在教堂山组织 会议记录表明 测试的学科不同于编程。 技术的自动化使我们可以共享信息，几位研究人员使用了Web自动化 研究工作中的测试工具。研究人员还增强了一些工具，以获得更好的性能和结果。这些工具可以独立应用，也可以组合使用，来解决软件测试中的挑战。 在这里，我们讨论 使用以下工具完成网络自动化测试的工作。

Leott等提出了关于测试的工业案例研究学习环境中的自动化和测试套件维护的内容管理系统。 在此作者提出调整工作，得出基于ID的方法 定位比Xpath更好的网页元素方法。 作者工作的目的是了解哪个Selenium WebDriver方法适合于定位Web页面元素，减少了所需的维护工作 将测试用例重新调整为新版本。 Leott等还提出了另一项关于工业的报告 进行案例研究以调查潜在利益页面对象模式的改进，提高selenium webDriver测试用例的可维护性。 论文比较了两个等效的测试套件。其中一个是使用页面对象模式，另一个并则没有。结果表明使用PO对象的对照组可维护性胜出。

Cheluvaraju等提出了一种新颖的方法，调查文件之间的关系 通过应用高级SNA共同致力于社交网络分析。 在本文中，他们对修订版本的历史进行了实证分析。 众所周知的开源Web应用程序测试系统， selenium和结果参数，例如提取交叉语言更改依赖性，更改传播，影响 分析报告。这段原文我也看不懂，机翻的也是一头雾水。

Wong等提出了一种采矿的方法，给定的Selenium IDE测试套件中的可执行规范。 那里的方法通过测试套件的数量进行评估现实世界。 那里的工作还展示了 模型挖掘和模型的两个相反过程,基于一个框架的测试生成。 Nagowah等通过分析现有的工具，提出了一种自动化的设计的测试工具Kishanium， Kishanium工具是一种创新工具，改进了记录和回放方法。 工具管理套装 测试数据，并且即使存在 是用户界面中的更改数量。 工具提供其他功能，例如数据生成器，spylink, 快照。

Wang等引入了新的自动化框架 由selenium和Jmeter集成。 该框架大量复用了测试步骤和测试数据，因而很容易跨应用迁移，支持多浏览器和操作系统，大大提升了自动用例的扩展性和重用性。

这部分其实给我们介绍了一些研究人员在自动化框架上的探索实践，可以补充一下我们的技术视野。

最后一部分就是各种自动化测试工具的对比了，很多工具因为年份久远，现在市面上基本上都见不到了，只剩下selenium QTP等老牌工具依然不忘初心，持久坚守。

所以大家可以看出来，对于自动化框架的探索，这些年其实并没有特别突破性的技术诞生，很多6年前论文中提到的东西，我们还在孜孜不倦的反复实现。

不过技术的洪流总是滚滚向前的，在AI时代即将到来的今天，自动化工具和框架也许会迎来井喷也说不定，我们继续努力，持续学习。




原始封面

![课程图片](https://images.unsplash.com/photo-1504217051514-96afa06398be?w=300)


