分层测试

98 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第九天,点击查看活动详情

分层测试的测试方法还是原来的测试方法,但对测试人员的的代码能力还有自动化测试水 平有较高要求,同时要求测试人员和开发团队真正的理解敏捷开发和敏捷测试,甚至要 求开发团队达到开发即测试、测试即开发的能力。

手工测试:需要测试界面、微服务的接口和数据库。

测试开发:还需要关注分层的自动化测试、单元测试、持续集成和持续发布。

按测试对象分类

性能测试:检查系统是否满足需求规格说明书中规定的性能。

安全测试:各种的攻击手段,例如SQL注入、XSS等等。

兼容性测试:软件和硬件之间是否能够发挥很好的效率率工作,会不会影响导致系统的崩溃。

文档测试:测试软件产品中的各类文档。

易用性测试:用户体验测试。

业务测试:测试人员将系统的各个模块串接起来运行、模拟真实用户实际的工作流程,满足永续 需求定义的功能进行测试的过程。

界面测试:也称为UI测试。测试用户界面的功能模块的布局是否合理,整体风格是否一致、各 个控件的放置位置是否符合客户的使用习惯,还要测试式操作界面操作便捷性、导航简单易懂性 页面元素的可用性,页面元素的可用性、界面中文字是否正确,命名是否统一,页面是否美观 文字、图片组合是否完美。

安装测试:测试程序的安装、卸载。

在测试自动化中:

测试代码中不仅仅包含测试逻辑,还包含许多其他代码,比如URL拼接、html/xml解析、访问UI控件,等等。若把测试 逻辑与这些无关代码混在一起,测试逻辑将会很难理解,也不容易维护。本文会介绍如何用分层结构来解决测试自动化中遇到的这些问 在这个分层结构中,测试自动化代码会被分成三层:

(1).测试用例层,表达应用程序的测试逻辑。

(2)、领域层,用业务领域术语来 系统建模,封装MTTP请求、浏览器控制、结果解析逻辑等,给测试用例层提供一个接口。

(3)待测系统层,第2层构建在这一层之上

UI自动化测试有这么多多弊端,这么劳民伤财,那么是否还有必要进行UI层的自动化呢?

答案是肯定 的,因为Ul层是我们的产品最终呈现给用户的东西。所以在做好上面两层的测试覆盖之后,测试人员可以投入更多的精力到UI层的测试 上。正是因为测试人员会在UI层投入较大精力,我们还是有必必要通过自动化来帮助我们解放部分重复劳动力。

根据我们的Ul层自动化实践,提一下我们的Ul层自动化覆盖的的原则:

能在底层做自动化覆盖,就尽量不在Ul层做自动化覆盖

只做最核心的功能的自动化覆盖,脚本可维护性尽可能能提高

我们提高UI脚本可维护性的方法是遵循Page Object设计模式。