本期小编将为大家带来自动化测试方面的基础知识,正在学习及将要提升学习自动化的同学们可自行参考啦,希望大家都可以尽快升职加薪!
下面跟着小编来认识一下自动化测试框架及其原则吧!
自动化测试框架
自动化测试框架需要基于特定的编程语言和测试工具实现,主要用于支持自动化测试执行和管理。
它的组成部分有以下几个方面:测试脚本库、测试引擎、测试报告。其中测试报告需要清晰且简单明了地去呈现测试结果并给出相应的分析和建议。
自动化测试框架设计原则
01、代码规范
随着业务的不断推进,必然会涉及代码的二次开发,因此代码的编写应符合通用规范,代码的命名也要符合业界标准,且代码层次要清晰。良好的代码规范在大型项目、多人协作型项目中尤其重要。倘若整个框架代码风格混杂、晦涩难懂,后续维护就会很困难。
02、模块清晰明确
模块化就是将测试框架从逻辑上分为几个不同的模块,它的好处是可以进行重用且便于替换修改。当然如果测试框架没有做模块化的划分,测试报告是耦合在框架代码里的,那么就会引发无法切换测试报告或切换代价过大的一系列问题,再去改动就会比较困难。
03、通用性强
测试框架可以通用于不同的操作系统,它不仅适用于Windows操作系统上,还适用在MacOS、Linux系统上,越通用测试框架的受众就会越多。它能解决同一类通用问题,如测试框架有个底层方法是用来操作弹出框的,无论是Alert框、确认框,还是一个允许用户输入的交互框,测试框架应该都能识别并操作。
04、可维护、可扩展
(1)可维护性:测试框架需要做到容易维护,符合一定的代码规范,模块清晰,且整个测试框架代码风格还要统一、易读、易懂。它需要做到在框架出问题时能轻松定位并修改以及多人合作框架时,框架代码要看起来出自同一人之手。
(2)可扩展性:它是指当需求变化时框架容易扩展。若测试框架不能扩展,无法解决业务发展带来的新问题,这样测试框架的寿命会很短。
05、错误处理机制
图片
在测试运行中,难免会出现种种运行错误,因此测试框架就必须具备高效处理错误的能力。错误处理机制一般可以分为停止运行和错误恢复。
06、系统日志清晰、便捷
系统的操作日志也可快速排查问题根源,因此日志一定要清晰详细,最好具备上下文,这样才能便于根据日志进行有效调试,快速定位错误发生的原因。
07、支持测试环境切换
一个产品从开发到上线需要经历的测试环境有dev环境,集成测试环境,预生产环境,生成环境等。因此测试框架应该满足一套脚本可以多环境运行,支持环境切换且能根据环境进行自动化配置。
08、支持外部数据驱动
测试框架会把只有数据不同,步骤和操作都相同的测试用例,在运行时解析成为多个不同的独立测试用例,在测试运行结束后,全部逐一展示到测试报告中。根据外部输入数据,动态切换运行用例。
09、支持顺序并发远程运行
测试用例有上千条,甚至上万条时,顺序测试会花费大量的时间。为了快速得到测试结果,测试框架应该支持顺序、并发、远程执行,这样可以缩短测试用例的整体执行时间。
10、报告完备详尽
测试报告是QA工作中的重要一环,通常在一个项目结束或者一个sprint结束时发出。完备详尽的测试报告,不仅可以知道QA到底做了什么工作,还可以看出整个项目的生命周期运行得平稳与否,软件的质量如何。
11、解决当前未解决的问题
从功能角度来看,框架得到认可,要么是解决了当前无法解决的问题,要么是解决方案比当下的更好。因此框架能不能被认可,就在于它是否具有独特的功能特性。
12、版本控制,回溯复盘
实际上版本控制就是将代码纳入版本控制系统的管理之下。有了版本控制,不同版本的测试代码就能以不同分支的形式出现,否则,就只能一次保持一个版本的代码,非常不方便。它不仅使协作开发、版本切换变得非常容易,使用者也可通过查看版本之间的变化来理解框架的发展。
13、持续集成,全局出发
“持续集成”是从整个公司业务出发,需要与整个开发团队合作完成,测试框架应该能便捷地集成至公司的持续集成系统,并且通过持续集成系统来触发测试。
最后能给予你助力的教程!
这份资料,对于【软件测试】的朋友来说应该是最全面最完整的备战资料,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,这些资料也陪伴了我走过最艰难的路,希望也能帮助到你!!!