自动测试实战项目案例(曹炼).ppt
《自动测试实战项目案例(曹炼).ppt》由会员分享,可在线阅读,更多相关《自动测试实战项目案例(曹炼).ppt(80页珍藏版)》请在三一办公上搜索。
1、第十四章一个自动测试实战项目案例,主讲人:徐光侠,本章内容提要,测试项目案例介绍 自动测试计划 自动测试用例的设计 自动测试脚本开发 自动测试脚本的运行和调试 自动测试结果分析,14.1 测试项目案例介绍,本测试项目案例是软件学院前期制作的一个小型学习交流平台(如图10-1所示),它是基于J2EE开发代码的内容管理系统(CMS)上搭建的。该学习交流平台实现的主要功能是发布信息、交流论坛、下载文件等,使得学院内之间建立更活跃的互动关系。,和大多数的论坛管理系统一样,本系统的主要功能可以分为用户管理、技术文章管理、论坛管理和文件下载这几个主要模块和其他非功能模块。根据用户的实际需求,使用面向对象技
2、术分析一下各主要功能模块的用例(Use Case)图。,项目案例-在线学习交流平台,1用户管理:用户管理模块主要实现用户的注册、登录、用户信息修改、用户短信的发送和接收、用户好友的添加和删除、管理员对用户信息和权限的维护。如图所示,这里有两种不同的角色,即一般用户(会员)和管理员(admin),管理员通过后台的用户管理模块对一般用户的权限、短信、好友进行管理。他们的操作过程如下:,(1)一般用户:注册登录用户信息维护。(2)管理员:后台登录用户信息维护用户权 限管理。,2会员中心管理:会员中心模块主要实现用户短信的发送和接收、用户好友的添加和删除。如图10-3所示,这里有两种不同的角色,即一般
3、用户(会员)和管理员(admin),管理员通过后台的用户管理模块对一般用户的短信、好友进行管理。他们的操作过程如下:,(1)一般用户:登录用户短信收发(2)管理员:后台登录用户短信管理(3)一般用户:登录用户好友维护(4)管理员:后台登录用户好友管理,3技术文章管理:技术文章管理分为技术文章维护和技术文章查看两部分。如图10-4所示,管理员可以对发布信息进行维护,一般用户只能在前台查看信息。,4论坛管理:论坛提供几个版块的设置,如学习交流、社会生活等,能够实现发帖和回帖等功能。如图所示,版块的设置和管理是管理员独有的权限,发帖和回帖是一般用户的权限。,5文件下载:文件下载分为下载内容管理和下载
4、文件两部分。如图10-6所示,管理员可以对下载内容进行维护,一般用户只能查看下载内容和下载文件。,6访客留言:分为访客留言管理和访客留言两部分。管理员可以对访客留言进行管理,一般用户和其他非登录用户只能查看留言或进行访客留言。7站内搜索:任何用户在系统的首页可以使用关键字对技术文章的标题进行站内搜索。8在线论坛搜索:一般用户在在线论坛的版块主题下,可以对发帖的标题进行关键字搜索。,14.2 自动测试计划,自动测试计划是整个项目计划的一部分,更是整个测试计划的重要组成部分。作为一个小型项目,自动测试计划可以作为测试计划的一部分来说明。,14.2.1 自动测试方案的选择,首先,结合“重要事情优先做
5、”的原则,要先要握自动化产品的关键和基本功能。在选择自动测试用例的时候,一定要选择比较适合自动测试的用例,这对于整个项目都有很多好处,不仅能提供软件测试的能效比,还可以降低自动测试的引入风险和成本,让自动测试在软件测试中真正地、循序渐进地应用。,其次,在选择自动测试脚本编写方法时要结合“降低测试成本”的原则。在刚刚入门编写自动测试脚本时,往往会感到整体代码不规范,代码复用性很差。这样会增加项目成本,因此有必要采用结构化的编码方法。测试脚本的结构化对项目而言有很多好处,能使代码结果清晰、便于脚本维护、降低维护成本;增加复用程序,降低开发成本;能够实现代码的统一管理,降低管理成本。但是过于追求结构
6、化,放弃很多QTP提供的“录制”功能,这本身又是一种对开发成本的无谓增加。怎样找到这个平衡点,是自动测试成本分析的工作目的。,本测试项目案例所选用的软件属于中小型应用软件,其特点为运行周期较短,版本更新较快,需求变更较频繁。针对此软件的自动测试创建遵循如下规则:,选择重要功能的测试用例作为高优先级。选择需求不经常变更的模块的测试用例作为高优先级。选择自动化可测试性高、符合团队技术特点、容易实现自动 化的测试用例作为高优先级。选择重复执行比率高的测试用例作为高优先级。鉴于读者都是初次接触自动测试,采用录制回放和结构化的测试脚本编写方法。对于用户界面的输入可引入数据驱动的脚本编写方法。,14.2.
7、2 自动测试计划的内容,1测试目标 根据自动测试需求分析的结果对可以自动化的模块及其手工测试用例进行自动测试。本次自动测试过程需要3名自动测试人员在15天内完成自动测试脚本并运行,分析运行结果,并提交“项目自动测试报告”。,14.2.2 自动测试计划的内容,2项目概述 本测试项目案例是软件学院前期制作的一个小型学习交流平台,它是基于J2EE开发代码的内容管理系统(CMS)上搭建的。该学习交流平台实现的主要功能是发布信息、交流论坛、下载文件等,使得学院内之间建立更活跃的互动关系。,14.2.2 自动测试计划的内容,3测试对象(1)注册(2)修改个人信息(3)登录(4)在线论坛管理 版块的设置 发
8、帖 回帖,14.2.2 自动测试计划的内容,4测试环境 测试环境分为软件环境和硬件环境。由于兼容性等问题,不同的软硬件环境会产生不同结果,而一些客观的原因决定不可能对所有的环境进行测试,因此需要分析现在用户主流软件环境,以满足大部分用户的需求。同时,当软件升级时也可考虑更多的兼容性。对于硬件环境没有特殊的要求,只要配置的性能足够高。软件测试的软硬件环境可以按照如表14-1和14-2所示进行归类和划分。,14.2.2 自动测试计划的内容,14.2.2 自动测试计划的内容,由于自动测试工具本身也存在兼容性等问题,因此需要选择适合于自动测试工具运行的客户端软件环境。QTP10.0对应Window 2
9、003、FireFox等软件环境的兼容性比较差,为适应工具的运行,可以指定一类客户端测试环境。本项目的客户端软件配置如表14-3所示。,5项目通过标准,自动测试项目的通过标准如下:,自动测试用例和数据包达到100%需求覆盖。自动测试用例100%被执行。测试过程中缺陷率达到公司系统测试质量标准。经测试经理和资深自动测试工程师审核通过。,6项目挂起和恢复条件,自动测试项目的挂起条件如下:测试流程管理工具或测试工具等环境要素出现故障。基本功能出现致命问题,导致50%用例被堵塞,自动测试无法执行。用例版本质量太差,50%执行用例无法通过,自动测试执行无意义。出现其他突发事件,需要对其他产品优先测试。,
10、自动测试项目的恢复条件如下:导致测试堵塞的问题被修复,并通过了回归测试。测试工具等环境因素被修复。用例版本质量得到较大改善。突发事件处理完成,可正常进行测试。,14.2.2 自动测试计划的内容,7资源分配物力资源为配有QTP10.0的Window XP计算机3台,人力资源的配置如表14-4所示。,14.2.2 自动测试计划的内容,8时间安排自动测试周期预计为15天,具体安排如表14-5所示。,14.2.2 自动测试计划的内容,9各阶段提交文档,自动测试计划。自动测试用例。自动测试工作周报。自动测试报告。,14.2.2 自动测试计划的内容,10风险管理启动自动化测试的假设如下:手工测试用例100
11、%执行并通过。E测论坛至少上线运行3周并且被测模块没有发生致命缺陷。可能存在的风险如下:计算机软件/硬件故障。规避方案:准备备用机器(虚拟机)。测试人员没有实际参加过项目,可能对测试产生一定的影响。规避方案:增加评审的频率和力度。自动测试人员突发性事假/病假/离职导致项目无法继续开展。规避方案:从其他组抽取1名资深自动测试工程师或高级自动测试工程师,一直参与自动测试项目的所有会议并作为应急人员。,14.3 编写自动测试用例,14.3.1 自动测试用例的设计,在编写自动测试用例前需要对自动测试用例进行设计。我们采用分类设计是因为不管多么复杂的事情,只要按照某个原则对其进行分类,思路就会变得清晰,
12、就会让复杂问题简单化。在分类时我们结合测试的对象、测试的内容和测试的方法进行综合分析。在上一节测试计划中我们按照功能模块的划分选择了测试的对象。从测试内容的角度上讲又可以分为用户界面(UI)、功能、性能、产品的安装与卸载。我们的测试内容只考虑UI和功能测试。而测试方法有很多,在基础中我们用了很大的篇幅进行了叙述,像等价类划分法、边界值法、因果图法和错误推测法等。,14.3.1 自动测试用例的设计,下面我们采用测试用例分类设计的方法,选取重点模块,即测试的对象分类;每个对象都要从测试的角度进行测试内容的分类;每个内容都要以熟悉的测试方法进行测试方法的分类。测试的内容包括如下:(1)注册(2)修改
13、个人信息(3)登录(4)在线论坛管理 版块的设置 发帖 回帖,14.3.1 自动测试用例的设计,同时在设计测试用例的时候还要遵循以下的原则:(1)场景选择的方法:选择操作过程相同的一些测试需求,来组成用例场景,使用测试用例结构化指导测试脚本的结构化。(2)场景包含用例的复杂度:场景包含的用例不能太多,当一个场景包含的用例数大于15时,可以考虑对场景进行分拆。相互独立的测试用例,使测试用例之间在逻辑上没有线性关系,不至因一个用例的错误而导致连锁错误。基于拥有前置数据的测试用例,每一个用例需要有前置的数据,避免这些数据必须通过其他脚本的执行来生成,这样从数据上消除脚本的线性依赖。基于同一起始点的测
14、试用例,需要让每个用例都从一个已知的条件出发。当程序第一次执行时,会从一个前置条件出发,生成一定的测试结果,这样已经对前置数据进行了修改,因此需要提供数据恢复方法,保证测试执行每一次出发点是相同的。不要设计相同的测试用例。每一个用例的设计不是随意选择的组合,需要根据一些测试用例的方法来开发完成,这些常用的技术包括等价类划分、边界值分析、决策逻辑表等,通过这些方法的组合来达到使用最少的测试用例来测试最大的测试覆盖面的目的。接下来,我们对被测试的对象模块进行举例。,14.3.1 自动测试用例的设计,1注册测试对象:注册。测试内容:UI测试。测试方法:等价类划分、边界值。一般用户注册的UI如图所示,
15、从图14-1的主页上单击“注册”,就会显示用户的注册页面。,14.3.1 自动测试用例的设计,注册模块的场景一为注册页面的各个输入域。使用等价类划分和边界值法对“用户名”域进行设计,我们可以得到如表14-6所示的5个测试用例。,14.3.1 自动测试用例的设计,使用等价类划分和边界值法对其他3个必填项“密码”、“重复密码”、“电子邮件”进行设计,可以得到和表14-6类似的测试用例。对6个选填项用同样的设计也可以得到类似的测试用例。对于“验证码”,输入为空和输入不匹配都提示“验证码对比错误”提示框。对于重复密码是否和密码一致的一致性检查也要作为测试用例。至此,我们对注册页面场景一的测试用例设计完
16、毕。场景二是提交注册信息,即在注册页面填入合法信息,单击“提交”,注册信息提交成功,页面显示注册的个人信息,检查显示的个人信息是否与刚才填入的信息一致。在设计测试用例时我们设计的是黑盒测试用例,不需要知道输入的注册信息是否成功地写入数据库,用户通过浏览器是否成功地读取数据库中的注册信息,只需要检查浏览器上显示的个人信息是否与输入的一致。,14.3.1 自动测试用例的设计,2登录测试对象:登录测试内容:功能测试。测试方法:错误推测、等价类划分。该系统有两大类用户,一个是超级用户admin,一个是一般用户。一般用户通过软件学院在线交流平台的页面登录,超级用户admin通过后台的网站内容管理系统进行
17、登录。由于他们各自的权限不同,所以只能登录各自的系统。超级用户的登录页面如图所示。,14.3.1 自动测试用例的设计,3在线论坛管理发帖测试对象:发帖。测试内容:功能测试。测试方法:等价类划分。在超级用户设置好在线论坛版块后,一般用户登录在线学期交流平台,单击在线论坛,进入在线论坛主页面。,14.3.1 自动测试用例的设计,该论坛有4个主版块,在“学习交流”主版块下又设有2个分版块“Java学习”和“数据库”。单击“Java学习”进入“Java学习”分版块,如图所示。,14.3.1 自动测试用例的设计,单击“发帖子”进入发帖页面,如图所示。,14.3.1 自动测试用例的设计,使用等价类设计该测
18、试用例,如表14-7所示。,14.4 使用QTP开发自动测试脚本,我们在选择自动测试方案时谈到本项目采用录制回放和结构化的测试脚本编写方法。测试用例的实现主要采用录制的方法,在录制之前需要做必要的准备,在录制后的基础上增强脚本时采用结构化的编写方法。,14.4.1 录制前的准备,由于我们的项目是个小型项目,产品周期较短,所以需要快速地创建有效脚本,并迅速投入使用。在录制脚本之前还需要进行如下前期准备:,(1)加载插件 QTP默认包含3种插件,分别是ActiveX、Visual Basic和Web。安装好QTP后,打开QTP应用程序,默认选择的插件是Web。当只有一些Web控件时,可以只选择该项
19、,但是通常网站的控件比较丰富,如既有JavaScript弹出框,又会引用一些第三方的插件,可以选择所有插件。在菜单中选择,就会在弹出的窗口中看到已选择的插件,如图所示。,14.4.1 录制前的准备,(2)录制模式设置Web录制模式设置是在菜单中选择,在弹出的窗口中单击标签,选中单选按钮,如图所示。如果单选单选按钮,就会在开始录制时默认打开一个指定地址的网站。,14.4.1 录制前的准备,(3)浏览器设置如前面所述,脚本的设计是基于同一个出发点的,但是浏览器会集中用户第一次操作的信息,因此需要取消浏览器的自动完成设置。取消的步骤如下:启动IE浏览器。选择菜单中的,弹出窗口。单击标签,单击的,弹出
20、窗口。取消勾选选项组中的复选框,如图所示。,14.4.2 录制回放,打开IE浏览器输入测试系统的网址,单击“注册”打开注册页面。在“用户名”、“密码”、“重复密码”、“电子邮件”等文本框和选择框中分别输入测试数据。这些操作使用手工执行会很繁琐,使用QTP就会变得很简单。首先需要使用录制回放功能录制用户注册的操作过程,步骤如下:(1)运行QTP。(2)启动IE浏览器,在地址栏中输入网址,在线交流平台首页打开。(3)单击QTP工具栏中的按钮,之后的操作都会被QTP记录下来生成相应的脚本,直到单击按钮。(4)开始手工注册用户的操作。单击,打开用户注册页面。在注册窗口中按照测试用例的设计数据,分别输入
21、用户名、密码、重复密码、电子邮件。根据窗口中的验证码输入验证码,单击按钮。,14.4.2 录制回放,(5)单击QTP工具栏中的按钮,停止录制。此时会发现在QTP的专家视图中的代码如下。,Browser(注册新用户-会员帐号-软件学院 在线学习交流平台).Page(首页-软件学院 在线学习交流平台).Link(注册).Click Browser(注册新用户-会员帐号-软件学院 在线学习交流平台).Page(注册新用户-会员帐号-软件学院 在线学习交流平台).WebEdit(username).Set Mary Browser(注册新用户-会员帐号-软件学院 在线学习交流平台).Page(注册新用
22、户-会员帐号-软件学院 在线学习交流平台).WebEdit(password).SetSecure 4d18a3c6226b749dd3b663b850aa Browser(注册新用户-会员帐号-软件学院 在线学习交流平台).Page(注册新用户-会员帐号-软件学院 在线学习交流平台).WebEdit(cpassword).SetSecure 4d18a3c99f92f4b63f1e6e05723b Browser(注册新用户-会员帐号-软件学院 在线学习交流平台).Page(注册新用户-会员帐号-软件学院 在线学习交流平台).WebEdit(email).Set Browser(注册新用户-
23、会员帐号-软件学院 在线学习交流平台).Page(注册新用户-会员帐号-软件学院 在线学习交流平台).WebEdit(valcode).Set 1038 Browser(注册新用户-会员帐号-软件学院 在线学习交流平台).Page(注册新用户-会员帐号-软件学院 在线学习交流平台).WebButton(提交).Click,14.4.2 录制回放,(6)单击QTP工具栏中的按钮,QTP开始自动执行刚才的用户注册的操作。回放刚才录制的用户注册脚本后发现,单击按钮后,出现“验证码对比错误”的提示框。这是因为验证码每一次都是动态生成的,刚才录制的验证码和这次的不匹配。所有我们遇到了录制回放编程方法的局
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动 测试 实战 项目 案例

链接地址:https://www.31ppt.com/p-6601200.html