软件测试架构

现在将一一根据自己的个人理解来介绍这些“自动化测试框架思想”:

1、所谓模块化思想,就是将一个测试用例中的几个不同的测试点拆分并且将其单个点的测试步骤进行了封装,形成了一个模块。

例如:一个测试用例要对一个登录程序进行测试,其中包括:用户名输入、密码输入、以及确定登录;

那么就可以将用户名输入、密码输入、确定登录、取消登录四个操作分别封装在四个不同的模块中。测试时,只需调用其模块即可。这样的话,当一个模块有变化,你只需单独维护那个模块即可,也可以根据模块的不同组合成不同的测试用例。

2、所谓测试库思想,就是模块化思想的升华,其为应用程序的测试创造了库文件(可以是APIs、DLLs等),这些库文件为一系列函数的集合。其与模块化思想不同的是,其拓展了接口思想,即可以通过接口去传递参数,而不是一个封死的模块,可以说是一个多了一个“门”的交互型模块。

例如:还是以上那个测试用例,只是将用户名输入、密码输入、确定登录、取消登录封装成一个库,这个库含有一个函数Login,这个函数Login接收两个参数“用户名、密码”,对输入不同的用户名和密码可以进行不同的测试用例。也可以另外一个函数Cancle。

3、所谓数据驱动思想,众说纷纭,很多人都觉仅仅依靠用EXCLE表进行不同数据的读取仅是一个高级的参数化,其实怎么理解并不重要,关键是其思想能够好的应用到你的框架中。而我的理解就是变量不变,数据驱动结果,不同的数据导致了不同的结果的产生。而对于数据的导入,可以通过很多方式,例如:EXCLE表、XML(用在WEB中)、数据库(DB)、CSV文件、TXT等都可以。

4、所谓关键字思想,这个思想,我曾经一直思考,它与面向对象的关系,与交互模块化思想的区别。后来个人理解,其实关键字驱动就是一种面向对象的思想,例如:QTP、RFT中,对象可以为一个数据或者一个关键字,对对象的抓取,可以将其测试对象封装为一个关键字(即可以将gui元素封装成了一个个关键字),这样可以对其关键对象进行各种操作了,不同的对象可以驱动不同的测试流向与结果。

简单的应用的方式可以用一个EXCEL表,里面包括“对象类型”“对象名称”“对象操作名称”“判断方式”“预期结果”。这样的话,可以通过导入不同的对象类型和名称、不同的对象操作来构建成了一个测试用例表了。

以上只是对这些思想的个人理解,做好自动化测试,不是说你掌握了一个框架,而是要掌握其自动化的思想,然后根据这些思想,结合你不同的测试环境和流程来构建你自己的自动化测试框架。

三、构建自动化测试框架的策略

1、永远记住,你的“自动化测试框架”是给测试人员用的,如果你真的想把自动化测试做成一个规模,那么你需要将测试工程师当做你的用户,你不能指望他们有耐心的去编写测试脚本或者指望他们能够像你一样对这些思想有良好的掌握。你要将他们当成什么都不懂的用户,因此你的框架必须是“一切简单化”的化身,简单的操作、简单的维护、简单的拓展。

2、做一个自动化测试框架主要是从分层上去考虑,而不是简简单单的应用一种思想,它是各种思想的集合体。

例如,做GUI自动化测试,简单的一般就将其分为三层,其框架如下图所示:

而其中,可以贯穿着自动化测试的各种思想,例如:对象层中有关键字的思想、可以将对象库标示在Excel表中进行管理,或者应用动态搜索的方式传递对象识别参数。tasks层中可以封装各种方法,形成一个大型的方法库,而每个方法中可以应用上数据驱动的思想。

3、真正的自动化测试框架是与流程上结合的,而不简简单单的靠技术实现,技术其实不是很复杂,关键就在于对其架构和流程的深刻把握,而这需要很长的一段时间,所以不要指望一口气能吃成胖子,只能一步一步按需求来,需求指导思想的应用。

 2.1 常见测试架构 
  模块化测试脚本框架:测试用例的脚本是由树状的独立小的可以描述的测试脚本模块组成,从而实现模块化。 
  测试库框架:不同于模块化的是把目标应用程序分解为过程和函数而不是脚本。 
  关键字驱动测试框架:将目标应用程序的功能和测试步骤分别映射为Keyword和Driven驱动表的形式。 
  数据驱动测试框架:测试驱动模块从数据源中获取测试数据进行测试。 
  混合测试框架:以上框架的一些结合。

分层测试框架:

2.3 平台实现 
  2.3.1 基于Selenium和TestNG的平台实现 
  首先从Selenium官方网站中分别下载并安装Selenium IDE,Selenium RC,Selenium Grid安装包。从TestNG官方网站下载并安装TestNG安装文件。

软件测试活动是围绕测试用例来进行的,对于Web自动化测试,基本步骤如下:编写测试用例,录制测试脚本,配置测试工程,运行测试脚本,查看测试报告。

对于测试脚本的开发和执行,首先需要在测试用例的基础上,使用Selenium IDE进行脚本录制,调试,回放,再确定测试脚本无误后,则转换为特定语言的脚本代码,例如转换为TestNG框架的Java代码。接着需要重构转换了的测试脚本代码,使其业务脚本和控制脚本分离到不同模块中,同时重构其中的测试数据,包括业务测试数据和界面数据(可以使用XPath来定位界面元素)。在重构过程中,通过使用TestNG的注释标签来对测试脚本进行设置和控制。测试报告是由TestNG在测试中自动生成的,可以直接使用浏览器打开,也可以扩展部署到服务器上,这样相关程序员可以立即获得属于自己那部分的测试结果。 
  3 结论 
  软件测试分层架构是在混合测试框架的基础上结合分层的思想设计出来的,通过Selenium 和TestNG搭建起来的平台,可以广泛用于Web应用程序的自动化测试,

时间: 2024-10-05 20:47:05

软件测试架构的相关文章

测试架构师修炼之道:2 软件测试架构师应该做和不该做的事情

测试架构师修炼之道:2 软件测试架构师应该做和不该做的事情 2016-08-12 测试架构师应该考虑以下问题: 测试的目标是什么? 测试的范围是什么? 测试的深度和广度是什么? 测试的重点和难点是什么? 如何安排测试? 如何评估测试结果? 目录 1 测试架构师在需求分析中  1.1 理解产品的商业目标  1.2 梳理用户的使用场景  1.3.输出产品总体测试策略2 测试架构师在测试分析和设计中  2.1 制定阶段测试策略  2.2 落实测试设计策略,保证测试设计的质量3 测试架构师在测试执行中 

测试架构师修炼之道:3软件测试架构师的知识能力模型(一)

测试架构师修炼之道:3软件测试架构师的知识能力模型(一) 2016-08-15 测试架构师从事的并不是一项纯测试技术的工作,而是一门需要结合产品.沟通协调.书面表达等综合性的艺术,如图1所示. 图1 软件测试架构师需具备的能力 从测试技术来说,软件测试架构师需具备的测试技术能力: 软件产品质量模型 测试类型 测试方法 探索式测试 自动化测试 目录 1 软件产品质量六属性  1.1 功能性  1.2 可靠性  1.3 可移植性2 测试类型3 测试方法  3.1 产品测试车轮图  3.2 功能测试方

架构师Jack专访:全面认识软件测试架构师

◇ 测试架构师的职责 测试的职业通道基本是管理线和技术线两条路. 管理线主要的职责:更多是项目管理和资源管理. 技术线主要的职责:更多是技术管理和业务知识. 软件测试架构师更多就是技术线的带头人.管理线的人更多的工作语言是:绩效,考评,时间点,质量等. 技术线的更多工作语言是:技术规划,技术可行性,技术价值,技术共享性,解决什么问题等. 软件测试架构师更多是一种角色,而不是一种title,是测试技术上和测试经验上有影响力的人.什么是有测试影响力的人呢?就是你没有任何官位,你不是任何人的行政上级,

什么是软件测试架构师

软件测试架构师是一个新职位,但确实是一个非常必要的职位.文章向我们详细介绍了软件测试架构师这一新兴职业,希望对大家能够有所帮助. AD:WOT2014:用户标签系统与用户数据化运营培训专场 软件测试架构师是一个新职位,但确实是一个非常必要的职位,主要有几点: 1. 根据V模型.广义测试概念等,(静态)测试的越早,发现缺陷越早,越有利于产品的质量.加快产品开发周期.降低企业的成本.更重要预防设计出现严重的缺陷,如果设计出现缺陷,在系统集测试发现问题时,所造成的返工将是可怕的.这就需要对设计进行复审

什么是软件测试架构师?

转:https://www.cnblogs.com/henryhappier/p/3216921.html 软件测试架构师是一个新职位,但确实是一个非常必要的职位,主要有几点: 1. 根据V模型.广义测试概念等,(静态)测试的越早,发现缺陷越早,越有利于产品的质量.加快产品开发周期.降低企业的成本.更重要预防设计出现严重的缺陷,如果设计出现缺陷,在系统集测试发现问题时,所造成的返工将是可怕的.这就需要对设计进行复审.评审,而在这过程中,需要测试人员参与. 2. 对于当前系统越来越复杂,不管是J2

测试架构师修炼之道:4 如何才能制定好测试策略

测试架构师修炼之道:4 如何才能制定好测试策略 2016-08-18 目录 1 理解测试策略  1.1 什么是测试策略?  1.2 测试策略等于测试方针?  1.3 测试策略等于测试计划?  1.4 测试策略等于测试方案?2 四步测试策略制定法  2.1 明确“产品质量目标”  2.2 进行“风险分析”  2.3 适配“产品研发流程”  2.4 进行“测试分层”  2.5 “四步测试策略制定法”中的测试技术3 产品质量评估模型  3.1 优秀的产品质量评估模型的特征  3.2 软件产品质量评估模

测试架构师修炼之道:5 测试策略实战攻略

测试架构师修炼之道:5 测试策略实战攻略 2016-09-06 目录 1 开始2 初次使用“四步测试策略制定法”  2.1 产品质量等级  2.2 确定项目中各个特性的质量等级  2.3 对项目整体进行风险分析  2.4 确定测试策略的结构  2.5 初步确定测试分层  2.6 回顾3 制定总体测试策略  3.1 分解产品质量目标    1. 根据质量等级来分解产品的质量目标    2. 为每个测试分层确定测试目标  3.2 使用老功能分析法来对特性进行分类  3.3 基于质量和风险来确定测试深

测试专家讲述通往测试架构师之路

随着对测试这个职业的了解越来越深,对微软测试技术的掌握越来越多,慢慢地,人就开始对那些测试“大牛”在做什么感兴趣了.他们就是那些在公司内部挂着“测试架构师”头衔的一小撮人. AD: WOT2014:用户标签系统与用户数据化运营培训专场 在公司呆了有几个年头了.在测试技术方面的技能长进了不少,又能享受写代码的乐趣,同事们经常交流对软件测试技术的见解,也在项目中实现一些创新的测试技术和基于自己的想法设计好的测试框架,每天过的很开心.随着对测试这个职业的了解越来越深,对微软测试技术的掌握越来越多,慢慢

我想做软件测试,阿里的表哥给我推荐了这8本书

真的勇士, 敢于直面惨淡的 warning . 敢于正视淋漓的 error ! 有人喜欢创造世界,他们做了开发者:有的人喜欢开发者,他们做了测试员.什么是软件测试?软件测试就是一场本该在用户面前发生的灾难提前在自己面前发生了,这会让他们生出一种救世主的感觉,拯救了用户,也就拯救者这个软件,避免了他们被卸载的命运. 表哥本名就不说了吧,花名Carvin,已经是8年测试的老兵了,走过5家公司,从测试菜鸟到经理,带着测试团队负责公司的整个产品体系.专注测试职业探索.测试管理.项目管理.面试技巧:分享自