第二步:静默录制脚本

  创建好项目之后,我们就不再需要 RFT 图形界面了,而是使用静默方式录制缺陷重现脚本。

  静默方式录制脚本的优点在于不需要操作者对 RFT 有太多了解。只需简单一个命令及几个按钮动作即可完成录制。

  在 Windows 命令行中输入如下命令,该命令会录制一个名为 SampleScript 的脚本。

图 7. 从命令行启动静默录制

  运行上述这条命令,会启动 RFT 录制小窗口。点击图中红色标记的 Start Application 按钮打开 Start Application 窗口。

图 8. RFT 录制操作窗口

  在 Start Application 窗口中点击 Edit Application List…按钮,添加测试应用程序的 URL。

图 9. 选择一个应用程序 url

  此处我们假定测试的应用程序 URL 为http://clmsvr-sjy.cn.ibm.com:9081/PlantsByWebSphere/,我们在 Windows 的 hosts 文件中加入如下行以方便 hostname 和 IP 地址的映射:

  <ip_address> clmsvr-sjy.cn.ibm.com

  在 Edit Application List 界面中点击 Add,选择 HTML Application,将上面的 URL 加入。

图 10. 添加应用 url

  点击 Finish 按钮,退出 Start Application 窗口。下面就可以开始脚本的录制了。

  测试人员在打开的应用程序界面上进行操作,首先点击 Bonsai Tree 图标:

图 11. 脚本录制 1

  然后在 QUANTITY 框中输入 abc,点击 Add to cart 按钮,应用程序弹出告警消息框。

图 12. 脚本录制 2

第2部分:重现缺陷

  问题描述

  在本系列的第一部分中,描述了如何用 Rational Automation Framework(RAF)和IBM Workload Deployer(IWD)准备测试环境,本文主要针对如何在测试环境上重现缺陷问题。本文基于系列第一篇文章中创建出的测试环境,利用 RFT 的录制回放功能,Rational Quality Manager(RQM)的测试管理功能和 Rational Team Concert(RTC)的协作功能,帮助开发人员更快速更准确的重现缺陷问题。

  在正常工作中,经常会出现开发人员根据测试人员在缺陷中描述的步骤不能重现缺陷,由于环境的差异,个人操作习惯的不同,或者重现步骤过于复杂,经常导致很多测试人员发现的缺陷无法被重现。这个大大拖延了缺陷修复和验证的速度。又或者,测试人员为了方便经常会选择把自己的环境直接给开发,这样虽然能让开发者直接看到了缺陷复现的环境,方便调试,但对于测试人员来说,也同时失去一套自己费时费力建好的环境。

  那么,如何才能让开发人员更快速的在环境中重现缺陷问题呢?下面我们具体描述一下使用 IBM 工具的一种最佳实践。

  产品简介

  Rational Functional Tester(简称 RFT):是 IBM Rational 研发的一款面向对象的自动化测试工具,可以模拟用户在实际使用中的基于图形化界面的操作。它支持 Windows 和 Linux 平台上对多种应用程序的测试,可以满足各种用户多方面的需要。

  Rational Quality Management(简称 RQM):是基于 Web 的,集中测试管理环境,它为测试计划、工作流控制、追踪,和能够量化项目决策及可交付件如何影响并结合商业目标的量度报告提供协作的且可定制的解决方案。

  Rational Team Concert(简称 RTC):是构建在 IBM Rational 面向软件交付技术的下一代协作平台 Jazz 平台上的第一个商用产品、一个协作式的软件开发环境,它包含了集成的源代码控制、工作项管理和构建管理等功能。RTC 是一个可实时相互协作的软件交付环境,可以帮助跨地域分布的开发团队简化协作开发过程,并使其软件交付过程实现自动化管理。

  方案描述

  本文中提到的方案需要开发和测试人员双方的合作:

图 1. 具体流程

  RQM 作为测试管理系统,测试人员需要通过 RQM 创建缺陷。RTC 作为变更管理的工具,存储具体缺陷内容,开发人员可以直接通过 RTC 中缺陷的描述了解问题内容。

  1、测试人员在测试环境中发现缺陷

  2、测试人员通过系列第一篇中描述的方法把测试环境的配置信息存储到 RAF 并在 IWD 中模板化

  3、测试人员需要在测试环境中录制重现缺陷的脚本,这里会用到 RFT

  4、测试人员在 RQM 中创建缺陷,并把 IWD 中虚拟系统模式 (Virtual System Pattern) 的名称包括在缺陷内容中,同时把 RFT 录制好的缺陷重现脚本作为附件添加到缺陷中。

  5、开发人员收到缺陷提醒通知后,可以在 RTC 中查看缺陷具体内容

  6、开发人员根据 IWD 中虚拟系统模式的名称去 IWD 中创建虚拟机,虚拟机中已经安装 RFT

  7、开发人员获得缺陷重现脚本,在生成的虚拟机中运行,重现缺陷。

  相比较其他方案,这个解决方案的优点是:

  ● 开发人员能很快得到一套环境,且此套环境能保证与测试人员所用的环境一致。

  ● 开发人员无需掌握太多 RFT 技能就能利用 RFT 回放脚本。

 准备工作 1

  在 IWD 中,把 RFT 的安装作为基础虚拟系统模式的一部分,这样创建的虚拟系统模式就会包含 RFT 的安装。

  RFT 的录制是通过焦点,页面上的图标摆放的位置,窗口的大小都可能会导致坐标的错误,使得回放失败,这个问题怎么解决?

  上面这个问题是我们在使用 RFT 回放脚本时经常碰到的,由于我们使用 IWD 中统一模板创建缺陷重现环境,这样环境配置是相同的,RFT 脚本的回放不会出现上述问题。

  准备工作 2

  由于测试人员需要在创建缺陷是提供 IWD 虚拟系统模式名称和附加缺陷重现脚本。这里需要在 RTC 中缺陷模板中添加一个字段 IWD Pattern,这样开发人员可以清晰获得虚拟模板信息。

图 2. RTC 项目管理界面

  在上图中选择工作项 (Work Item),然后为这个工作项添加属性(Types and Attributes),添加完毕后可在创建新的缺陷时看到 IWD Pattern 字段,然后需要编辑工作项展示页面,编辑完毕后创建新的缺陷页面就会呈现更改后的页面,包括 IWD 虚拟系统模式字段。

图 3. RTC 工作项展示页面编辑

  准备工作 3

  图 1 具体流程中提到测试人员需要通过 RQM 来创建缺陷,缺陷具体内容会直接存储到 RTC 中,这就要求提前配置好 RQM 和 RTC 的集成环境。

  1、创建需要的 RQM 项目

  2、创建需要的 RTC 项目

  3、在 RQM 项目管理页面中,关联 (Association) 部分,添加和 RTC 项目的关系"使用",RTC 提供的"缺陷"功能即可。

  4、完成上述步骤后,就可以在 RQM 中测试执行完毕后,测试执行结果 (Test Execution Result) 中关联或创建新的 RTC 中的缺陷。

  具体实现步骤

  测试人员录制缺陷重现脚本

  测试人员的测试环境可由 IWD 迅速得到,这部分可参考本系列的第一篇文章。下面阐述测试人员如何在测试环境中用 RFT 静默方式录制缺陷重现脚本。

  我们以 WAS 中的 Plants by WebShere 程序为例,假定购买 Bonsai Tree 时,在 QUANTITY 框输入 abc,弹出告警消息框 Quantity must be a valid number。现在假定 Plants by WebShere 程序设计已经更改,弹出告警消息框中的内容应该为 Warning:Quantity must be a valid number。所以测试人员发现了一个缺陷,现在录制这个缺陷的重现步骤。

图 4. WAS 网上花店应用错误示例

  第一步:用 RFT 图形界面创建 RFT Project。

  首先假设您拥有一个名为 SampleProject 的 RFT 项目,如果没有可以打开 RFT 图形界面创建一个 Project。在菜单中选择"File" -> "New" -> " Functional Test Project"。

图 5. RFT IDE 界面

  在创建项目界面中输入项目名称和项目路径。点击 Finish 按钮,就会创建好一个 RFT 项目。

图 6. RFT 项目创建页面

 第二步:静默录制脚本

  创建好项目之后,我们就不再需要 RFT 图形界面了,而是使用静默方式录制缺陷重现脚本。

  静默方式录制脚本的优点在于不需要操作者对 RFT 有太多了解。只需简单一个命令及几个按钮动作即可完成录制。

  在 Windows 命令行中输入如下命令,该命令会录制一个名为 SampleScript 的脚本。

图 7. 从命令行启动静默录制

  运行上述这条命令,会启动 RFT 录制小窗口。点击图中红色标记的 Start Application 按钮打开 Start Application 窗口。

图 8. RFT 录制操作窗口

  在 Start Application 窗口中点击 Edit Application List…按钮,添加测试应用程序的 URL。

图 9. 选择一个应用程序 url

  此处我们假定测试的应用程序 URL 为http://clmsvr-sjy.cn.ibm.com:9081/PlantsByWebSphere/,我们在 Windows 的 hosts 文件中加入如下行以方便 hostname 和 IP 地址的映射:

  <ip_address> clmsvr-sjy.cn.ibm.com

  在 Edit Application List 界面中点击 Add,选择 HTML Application,将上面的 URL 加入。

图 10. 添加应用 url

  点击 Finish 按钮,退出 Start Application 窗口。下面就可以开始脚本的录制了。

  测试人员在打开的应用程序界面上进行操作,首先点击 Bonsai Tree 图标:

图 11. 脚本录制 1

  然后在 QUANTITY 框中输入 abc,点击 Add to cart 按钮,应用程序弹出告警消息框。

图 12. 脚本录制 2

 最后测试人员点击下图中红色标记的 Stop Recording 按钮完成录制过程。

图 13. 脚本录制 3

  完成录制之后,在 SampleProject 目录下生成一个 SampleScript.java 脚本,脚本内容如下:

图 14. 录制脚本 Java 文件

  第三步:创建缺陷

  完成这些之后,将录制的脚本工程做成 zip 包,测试人员就可以在 RQM 里执行测试用例时将脚本信息,用于部署环境的 IWD 环境信息附录到缺陷报告之上。关于如何通过 IWD 创建测试环境模板,并部署环境,请参考本系列第一篇文章。

  在 RQM 中,测试人员运行测试用例,测试用例运行失败,测试人员创建软件缺陷并把脚本包文件,IWD 环境部署信息链接附录到缺陷信息中。这里为了方便开发人员更好的获得缺陷环境信息和重现步骤,我们对 RTC 缺陷模板进行一些定制和配置,添加了 IWD Pattern 字段,并让添加附件部分在 RQM 里可见。

图 15. RQM 中创建新缺陷的页面

  开发人员回放脚本重现缺陷

  开发人员在浏览缺陷信息时,可以从中得到用于复现缺陷的脚本和测试环境信息。通过字段 IWD Pattern 里的链接连接到 IWD 系统。开发人员通过 IWD 部署测试环境。此环境模板正是测试人员发现缺陷时所用模板,被测应用及 RFT 应用已经预装完毕。开发人员在新得到的系统内解开缺陷附录的脚本包压缩文件,并通过以下步骤重现缺陷。如下图所示:

图 16. RTC 中存储的缺陷信息

  首先开发人员在部署好的环境 Windows 的 hosts 文件中加入如下行以方便 hostname 和 IP 地址的映射:

  <ip_address> clmsvr-sjy.cn.ibm.com

  然后在 Windows 命令行中输入如下命令编译 RFT 脚本 SampleScript。

图 17. RFT 编译脚本命令

  最后开发人员在 Windows 命令行中输入如下命令回放 RFT 脚本 SampleScript,脚本就会按照测试人员的录制过程复现 defect。

图 18. RFT 脚本回放

  这样,开发人员直接从缺陷里得到了环境信息,部署新环境,并通过附录的 RFT 脚本信息直接回放脚本,重现缺陷。

  结束语

  现在开发人员已经可以重现缺陷问题了,下面就是解决问题,提交产品代码变更后,测试人员进行缺陷验证的环节,这个部分我们会在系列第三篇中描述。

最新内容请见作者的GitHub页:http://qaseven.github.io/

敏捷开发和测试中重现缺陷和验证缺陷的解决方案(2)相关推荐

  1. 敏捷开发和测试中重现缺陷和验证缺陷的解决方案(3)

    简介:在作为系列的最后一篇覆盖的部分是缺陷生命周期的最后一个环节,缺陷的验证.本文主要描述了如何通过 Rational Team Concert(RTC).Rational Quality Manag ...

  2. 软件工程结课论文 敏捷开发在软件工程中的应用 大学编程作业(TUST 天津科技大学 2022年)

    软件工程结课论文 敏捷开发在软件工程中的应用 大学编程作业(TUST 天津科技大学 2022 年) 软件工程结课论文 敏捷开发在软件工程中的应用 大学编程作业(TUST 天津科技大学 2022 年) ...

  3. 人工智能在软件开发和测试中的作用

    根据Gartner的说法,人工智能将在所有技术领域无所不在,并将成功地在2020年成为CIO最重要的投资重点之一.根据市场研究公司的数据,2019年全球人工智能的范围是北美约为63.6亿美元. 像亚马 ...

  4. 一图看懂华为云DevCloud如何应对敏捷开发的测试挑战

    作为敏捷开发中测试团队的一员,在微服务测试过程中,你是不是也遇到同样困惑:服务不具备独立验证能力.自动化用例开发效率很低等?华为云DevCloud API全场景测试技术来支招~围绕API的全场景,打造 ...

  5. 敏捷开发绩效管理之六:敏捷开发生产率(中)(功能点分析,FPA,简化的功能点)...

    这是敏捷开发绩效管理的第六篇.(之一,之二,之三,之四,之五,之六,之七) 直接估天数或用故事点估天数,都很"程序员".如果在项目的甚早期,面临与客户相关的报价问题,或高层领导要统 ...

  6. 敏捷开发与测试(面试话题之一)

    传统开发模式:V模式,瀑布模式,传统开发模式往往循规蹈矩,从需求,概要设计,详细设计,开发,单元测试,集成测试,系统测试,验收测试,上线发布,整个周期往往需要半年到一年,由于周期长,产品在开发过程中会 ...

  7. 软件测试/测试开发 | app测试中常用的Android模拟器

    公众号搜索:TestingStudio 霍格沃兹的干货都很硬核 测试 Android app 的时候,Android 模拟器是经常会用到的工具.模拟器可以轻松的模拟不同的品牌.分辨率和 Android ...

  8. 独立测试团队在敏捷开发中的几个特别实践

    [原文发表在https://hespr.blogspot.jp/2009/03/blog-post.html 写在2009年3月 最近发现被人盗版了多处, 重新发布在CSDN] 最近读了<我和敏 ...

  9. 敏捷开发中的可用性测试

    陈 序明, 资深研发工程师及售前工程师, IBM 王 建芳, 资深软件测试工程师, IBM 李 雨恭, 软件工程师, IBM 简介: 近年来有两个词语在软件行业迅速"走红",一个是 ...

最新文章

  1. mysql 5.7.x 安装
  2. 密码(图解密码技术)_第二章_历史上的密码
  3. boost::geometry模块变换多边形的测试程序
  4. Java Web开发Tomcat中三种部署项目的方法
  5. 华为欧拉系统服务器开接口,华为操作系统 euleros
  6. Delphi多媒体设计之TMediaPlayer组件(二)
  7. 56py无锡官方网站2013最新
  8. 如何制作一个横版格斗过关游戏 Cocos2d x 2 0 4
  9. 腾讯广告算法大赛已启动,逆向算法,等你来战
  10. H3C ipv6与ipv4(6to4)隧道实验
  11. vue + UEditor 上传图片(回显),上传附件 含token
  12. 巃嵸鸿蒙构瑰材兮,明堂赋原文、翻译及赏析_李白古诗_风萧学古网
  13. php if相关标签,dedecms模板中运用dede标签时使用php和if判断语句的方法
  14. 中文计算机期刊影响因子排名,最新计算机类中文核心期刊影响因子排名
  15. linux startx无效_startx命令_Linux startx 命令用法详解:用来启动X Window
  16. 京东到家开放平台网关系统设计实践
  17. mysql对韵母分组,复合元音韵母练习.ppt
  18. 两种 HTTP 请求方法
  19. Bootstrap 网格系统
  20. yang模型中rpc_RPC校正方法研究

热门文章

  1. 安全可控、依法合规 人工智能落地金融领域“讲原则”
  2. AI芯片市场,到底是怎么一回事?
  3. 真学霸不愁钱,传递社会正能量 - 我看华为百万年薪招聘天才少年
  4. 深度 | 香港中文大学(深圳)张大鹏教授:生物特征识别的新进展 | CCF-GAIR 2019
  5. 「机器学习速成」过拟合的风险和泛化
  6. 人工智能时代,最先占领高维度空间
  7. 盘点:近两年人工智能和机器学习领域部分收购案
  8. SAP MM Reset预留单上的Deletion Flag?
  9. 言论丨李开复:中国在AI领域的优势与机会,现阶段AI领域的挑战
  10. (全网率先解决)Pycharm在Debug的时候出现frames are not available;Variable:Connected