(计算机应用技术专业论文)无线网管软件自动化回归测试技术及应用研究.pdf_第1页
(计算机应用技术专业论文)无线网管软件自动化回归测试技术及应用研究.pdf_第2页
(计算机应用技术专业论文)无线网管软件自动化回归测试技术及应用研究.pdf_第3页
(计算机应用技术专业论文)无线网管软件自动化回归测试技术及应用研究.pdf_第4页
(计算机应用技术专业论文)无线网管软件自动化回归测试技术及应用研究.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

气 一 芦 - 一 ( p w i r e l e s sn e t w o r k m a n a g e m e n ts o f t w a r e ,a u t o m a t e dr e g r e s s i o nt e s t i n g t e c h n o l o g ya n di t sa p p l i c a t i o n b y g u oy a m i n b e ( x i a n g t a nn o r m a lc o l l e g e ) 2 0 0 2 at h e s i ss u b m i t t e di np a r t i a ls a t i s f a c t i o no ft h e r e q u i r e m e n t sf o rt h ed e g r e eo f m a s t e ro fe n g i n e e r i n g l n c o m p u t e ra p p l i c a t i o nt e c h n o l o g y i nt h e g r a d u a t es c h o o l o f h u n a nu n i v e r s i t y s u p e r v i s o r p r o f e s s o rx i a od e g u i s e n i o re n g i n e e r a n gs h e n g h u a a p r i l ,2 0 1 0 03姗5m 8 0哪9川iy 6 湖南大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所 取得的研究成果。除了文中特i i ;i i 以标注引用的内容外,本论文不包含任 何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的 法律后果由本人承担。 作者签名:却多钦 日期:如p 年5 - i oe t 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意 学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文 被查阅和借阅。本人授权湖南大学可以将本学位论文的全部或部分内容编 入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇 编本学位论文。 本学位论文属于 l 、保密口,在年解密后适用本授权书。 2 、不保密团。 ( 请在以上相应方框内打“ ) 作者签名: 导师签名: 啷多叙 厉主 日期:沙后年蛔o 日 日期:0 2 dto 年广月口e t p 网管软件自动化回归测试技术及应用研究 摘要 随着无线网络产品应用的普及,无线网络管理软件的质量变得尤为重要,拟从工程 实际的角度,将软件自动化回归测试引入w i f i 网管软件测试,并在一个实际应j = l j 环境 进行部署和评估。 主要研多l = 软件自动化回归测试。包括分析基本的手工软件测试与自动化测试的之间 关系、分析软件测试的特点、分析不同层次的测试目标,从而得出要想将自动化测试有 效应用到软件测试过程中必须要遵守的自动化测试准则;分析自动化回归测试架构的设 计和开发,明确要根据软件开发的特性进行自动化脚本的开发,以实现脚本模块化和脚 本重用的方0 :分析加入自动化测试后的软件测试体系,得出软件测试过程改进的建议等 垄譬 奇。 在以上基础上提出一个无线网管软件自动化回归测试模型,由测试脚本开发人员, 测试脚本执行人员,测试计划、测试工具、测试脚本、测试引擎、测谢:报告、被测实体 等组成,在w i f i 网管软件上验证该模弛,与手工测试方法相比,该模型很大程度上减 轻了手工测试人员的负担,减少了人为的疏忽错误,提高了测试效率,而且能够长时间 工作,只外在发现b u g 的数量上与手工测试的效果相差无几,并且自动化的覆盖率保持 在7 5 左右,达到了较高水平。 关键词:自动化测试;无线网络;测试脚本:测试架构;自动化测试的模型 l i 一 a bs t r a c t w i t ht h ep o p u l a r i t yo fw i r e l e s sn e t w o r k i n gp r o d u c ta p p l i c a t i o n s ,t h eq u a l i t yo f w i r e l e s sn e t w o r km a n a g e m e n ts o f t w a r eb e c o m e sm o r ei m p o r t a n t i nt h el i g h to ft h e e n g i n e e r i n g ,w eb r i n gt h ea u t o m a t e dr e g r e s s i o nt e s t i n go fs o f t w a r ei n t ow i f in e t w o r k m a n a g e m e n ts o f t w a r et e s t i n g a n dw ed e p l o yar e a l a p p l i c a t i o ne n v i r o n m e n tt o e v a l u a t i o n t h em a i nr e s e a r c ho ft h i sp a p e ri sa u t o m a t e dr e g r e s s i o nt e s t i n go fs o f t w a r e t h e r e a r ei n c l u d i n ga n a l y s i so ft h er e l a t i o n s h i pb e t w e e nt h em a n u a ls o , w a r et e s t i n ga n d a u t o m a t i o nt e s t i n g ,t h ec h a r a c t e r i s t i c so fs o f t w a r et e s t i n ga n d a n a l y s i so ft h et e s t o b j e c t i v e sa td i f f e r e n tl e v e l s t h e n ,w ec o m et ot h ec o n c l u s i o ni fw ew a n tt h ee f f c c t i v e a p p l i c a t i o no fa u t o m a t i o nt ot h es o f t w a r et e s t i n gp r o c e s s ,w em u s t c o m p l y w i t h g u i d e l i n e sf o r a u t o m a t e dt e s t ,a n a l y z et h ed e s i g na n dd e v e l o p m e n to fa u t o m a t e d r e g r e s s i o nt e s t i n gf r a m e w o r k ,c l e a ri no r d e rt oa c h ie v em o d u l a ra n dr e u s es c r i p t i n gt h a t w em u s td e v e l o pt h ea u t o m a t es c r i p tb a s e do nt h ec h a r a c t e r i s t i c so f s o f t w a r e ,a n a l y z e t h et e s ts y s t e ma n dt h e no b t a i nt h ei m p r o v e m e n tm e t h o do fs o f t w a r et e s t i n gp r o c e s s a n ds oo n w ep r o p o s e daa u t o m a t e d r e g r e s s i o nt e s t i n gm o d e l o fw i r e l e s sn e t w o r k m a n a g e m e n ts o f t w a r e m o d e li n c l u d e st e s ts c r i p td e v e l o p e r s ,t e s t s c r i p te x e c u t i o n p e r s o n n e l ,t e s tp l a n s ,t e s tt o o l s ,t e s ts c r i p t s ,t e s te n g i n e ,t e s tr e p o r t s ,m e a s u r e de n t i t i e s a n ds oo n e x p e r i m e n t sh a v es h o w nt h a tt h em o d e ls u b s t a n t i a l l yr e d u c e st h eb u r d c no f m a n u a lt e s t e r sa n dt h eh u m a nn e g l i g e n c e e r r o r s ,i m p r o v et h et e s t i n ge f f i c i e n c y ,a n d c a nw o r kl o n gh e u r s i na d d i t i o n ,t h en u m b e ro f b u gi sa sm u c ha st h em a n u a lt e s t i n g a n dt h em o d e lh a sa7 5 c o v e r a g er a t e k e y w o r d s :a u t o m a t i o nt e s t i n g ;w i r e l e s sn e t w o r k ;t e s ts c r i p t ;t e s ta r c h i t e c t u r e ; m o d e lo fa u t o m a t i o n 网管软件自动化回归测试技术及应用研究 目录 学位论文原创性声明和学位论文版权使用授权书i 摘要- i i a b s t r a c t i l l 插图索引v i 附表索引v i i 第l 章绪论:1 1 1 选题背景及意义l 1 2 软件测试1 1 2 1 软件测试的作用1 1 2 2 软件测试在s d l c ( 软件生命周期) 中的位置2 1 2 3 软件测试过程j 3 1 2 4 软件测试的基本方法3 1 3 w i f i 网管软件简介一i o 1 4 本课题的研究工作1 0 第2 章软件回归测试的自动化1 2 2 1 软件回归测试自动化好处1 2 2 2 正确认识软件测试自动化1 2 2 2 1 测试自动化普遍存在的问题:1 3 2 3 自动化同归测试体系结构:1 3 2 4 适合自动化的场景1 4 2 4 1 测试周期_ 1 4 2 4 2 识别适合自动化的测试场景1 4 2 5 自动化测试中遇到的问题1 5 2 5 1 测试人员的问题1 5 2 5 2 测试工具的问题1 5 2 5 3 测b = 环境的问题:1 6 2 5 4 产:晶发布频率及产品稳定性问题1 6 2 6 小结16 第3 章w i f l 网管软件自动化回归测试模型1 7 3 1 模型相关配置1 8 3 1 1 测试工具选择一l 客 3 1 2 测试人员1 8 i v 卜 工程硕士学位论文 3 1 3 测试环境19 3 1 4 时间和工作量2 0 3 2 模型的组成元素2 0 3 2 1 回归测试计划2 0 3 2 2 自动化回归测试和开发流程2 1 3 2 3 自动化测试脚本2 2 3 3 小结2 3 第4 章w i f i 网管软件自动化回归测试模型的应用j 2 4 4 1 产品介绍2 4 4 2 建立回归测试架构2 5 4 3 自动化回归测试工具的选择2 6 4 3 1s e l e n i u m 的引入:2 7 4 4 自动化回归测试框架设计3 1 4 4 1 自动化回归测试框架设计图3 3 4 4 2 自动化回归测试框架操作环境3 5 4 5 定制自动化回归测试的计划3 6 4 5 1 被测系统测试计划一3 6 4 5 2 执行自动化回归测试计划3 7 4 5 3 开发自动化回归测试脚本计划4 0 4 5 4 回归测试执行人员调度计划。4 3 4 6 开发回归测试脚本4 4 4 7 执行自动回归测试:4 6 4 8 测试日志样例4 7 4 9 编写测试报告4 7 4 1 0 自动化测试与手工测试结果比对4 8 4 1l 小结5 0 总结与展望51 参考文献:5 2 致 谢5 5 v 网管软件自动化回归测试技术及应用研究 插图索引 图1 1 软件测试和s d l c 关系2 图1 2 测试过程的跟踪示意图3 图2 1 软件自动化回归测试的体系结构1 3 图2 2 测试用例执行步骤1 4 图3 1 无线环境f 1 动化测试模型1 7 图3 2 工具选择流程图。l8 图3 3 测试人员职责图。l9 图3 4 测试计划流程2 l 图3 4 自动化测试及开发流程图2 2 图4 1 无线网管软件测试架构2 5 图4 2w 曲对象捕获一j 2 6 图4 2 自动化测试虚拟系统解决方案3 3 图4 3 自动化测试框架设计图3 4 图4 4 测试环境配置效果图3 6 图4 6 测试脚本结构图。4 5 图4 7 命令下发界面_ 4 6 图4 8 测试日志信息文本4 7 图4 9 手工测试及自动化测试数量情况。:4 9 图4 1 0 自动化覆盖率图4 9 图4 1 lb u g 分布情况4 9 图4 1 2 测试时间分布图5 0 v l p 工程硕士学位论文 附表索引 表1 1 测试技术收益一览表。9 表2 1 自动化测试能力评估表。1 2 ,表4 1 组件功能表2 5 表4 2s e l e n i u m 几种独立测试组件的比较2 7 表4 3s e l e n i u m 自动化脚本2 8 表4 4s e l e n i u m 测试脚本( 引用文件和变量) ,3 0 表4 6 测试套件的h t m l 文件示例一3 1 表4 7 组件实体对象功能表3 4 表4 8 被测系统部分计划表3 6 表4 9 评审结果清单3 8 表4 1 0 开发自动化脚本计划农4 1 表4 1 l 调度计划4 4 表4 12 测试报告一览表4 7 表4 1 3 测试情况明细表4 8 表4 1 4 回归测试统计表4 8 v 、 工程硕士学位论文 1 1 选题背景及意义 第l 章绪论 在i t 产业迅速发展的今天,硬件在质与量方面的飞速发展给人们留下了深刻的印 象。相对而言,软件在量的方面同样发展迅速,上千万行的大型系统软件及百万行的应 用软件已屡见不鲜,然而软件的质量却一直是令所有人头痛的问题,因为随着规模的扩 大,对于质量的保证己经成为了一项异常艰苦的工作,而对软件进行测试就是保证软件 质量最重要和最有效的方法n ,测试是保证软件质量的重要手段,也是软件开发过程中 的一个重要环节。正如任何生产过程都离不开产品质量检验一样,测试工作也是软件开 发过程中必不可少的环节。软件测试工作做得怎样,直接决定着软件产品质量的好坏。 大量统计资料表明,软件测试阶段投入的成本和工作量往往要占软件开发总成本和总工 作量的4 0 9 6 到5 0 9 6 甚至更多。随着软件应用范围的扩大,软件复杂度的提高,以及软件设 计技术的不断发展,软件开发规模越来越大,处理的问题愈来愈复杂相对来说传统的 软件测试技术和方法以及测试工具已无法满足大型的、复杂的软件测试需要。软件测试 己成为当前软件技术研究的重点和难点,有关软件测试技术、理论的研究和软件测试工 具的研发越来越受到软件界的重视。目前软件测试技术的研究主要向网络化、大型化和 自动化方面发展,主要包c l i e n t s e r v e r 系统、基于i n t e r n e t 的w e b 应用系统、嵌入式系 统的软件测试技术研究和测试工具的研制圆。 软件测试技术仍然落后于人们对它的期望,关于软件测试系统的研究和讨论还是很 少;怎样提高软件测试效率还是个问题,手工测试的速度太慢,效率太低。因此人们想 到了自动化测试,想通过脚本程序的运行让测试工作自动进行。软件自动化测试作为软 件测试一个重要的组成部分,它能完成许多手工测试无法实现或难以实现的测试,例如 基于c l i e n t - s e r v e r 的压力测试或w e b 系统的测试口1 。正确、合理地实施自动化测试,能 够快速、彻底地对软件进行测试,从而提高软件质量,生产出可靠的系统:改进测试工 作质量,节省经费,减轻测试工作量,缩短产品发布周期。本文提出了建立一个无线网 管软件软件自动化回归测试模型,并且进行了具体应用。 1 2 软件测试 1 2 1 软件测试的作用。一 一 软件测试就好比制造工厂的质量检验工作m ,是对软件产品和阶段性工作成果进行 质量检测,力求发现其中的各种缺陷,并督促修正缺陷,从而控制和保证软件产品的质 量所以,软件测试是软件公司致力于提高软件产品质量的重要手段之一 网管软件自动化回归测试技术及应用研究 1 2 2 软件测试在s d l c ( 软件生命周期) 中的位置 工程硕士学位论文 1 2 3 软件测试过程 软件测试的全过程圆,要经历如图1 2 所示的多个里程碑,其中主要的里程裤有: 产品需求文档( p r d ) 或市场需求文档( m r d ) 的评审和签发; 产品规格说明书( s p e c ) 的评审和签发; 测试计划、测试计划书的评审和签发; 测试用例的设计、评审和签发; 功能测试; 系统测试; 验收测试。 “ j 图1 2 测试过程的跟踪示意图 1 2 4 软件测试的基本方法 。 不深入代码细节的软件测试方法。常被称为行为测试,因为测试的是软件在使用过 程中的实际行为。首先,从产品说明书获知测试对象的软件的输入和应该得到的输出, 接下来,开始定义测试案例。 1 2 4 1 测试案例 n l 测试案例”:指进行实验用的输入,以及测试软件用的程序。选择测试案例是软件 测试员最重要的任务。不正确的选择可能导致测试量过大或者过小,甚至测试目标不对。 准确评估风险,把不可穷近的可能性减少到可以控制的范围是成功的诀窍。 测试基本方法:通过测试,失败测试 l 通过测试:确认软件至少能做什么,而不考验其能力。 j :一 2 ) 失败测试:纯粹为了破坏软件而设计和执行的测试案例,也称为迫使出错测试。 蓄意攻击软件的薄弱环节 一 网管软件自动化回归测试技术及应用研究 在设计和执行测试案例时,总是首先进行通过测试。在破坏性试验之前看看软件基 本功能是否实现是很重要的,否则在正常使用软件时就会奇怪为什么有那么多的软件缺 陷。常见的测试案例就是设法迫使软件出现错误提示信息。产品说明书可能会给出这样 的功能要求,针对这个问题的测试可能是通过测试也可能是失败测试。可能两者都是。 不用去刻意区分,重要的是找到软件缺陷。 选择测试案例:等价分配旧 等价分配:是指分步骤地把过多( 无限) 的测试案例减少到同样有效的小范围的过 程。也称等价划分。等价分配技术提供了一个选择哪些数值、舍弃哪些数值的系统方法。 等价类别或者等价区间是指测试相同目标或者暴露相同软件缺陷的一组测试案例。在寻 找等价区间时,想办法把软件的相似输入、输出、操作分成组。这些组就是等价区间。 等价分配的目的是把可能的测试案例组合缩减到仍然足以测试软件的控制范围。因为选 择了不完全测试,就要冒一定的风险。如果为了减少测试案例的数量过度进行等价分配, 测试的风险就会增加。另外,等价区间的划分没有一定的标准,只要足以覆盖测试对象 就行了。 , 1 2 4 2 测试方法 数据测试 软件由数据( 包括键盘输入、鼠标单击、磁盘文件、打印输出等等) 和程序( 可执 行的流程、转换、逻辑和运算) 两个最基本的要素组成。 对数据进行软件测试,就是在检查用户输入的信息、返回结果以及中间计算结果是 否正确。主要根据下列原则来进行等价分配,以合理减少测试案例:边界条件、次边界 条件和无效数据。 边界条件测试 程序在处理大量中间数值时都是对的,但是可能在边界处出现错误。比如数组的 o 元素的处理。想要在b a s i c 中定义一个1 0 个元素的数组,如果使用d i md a t a ( 1 0 ) a s i n t e g e r ,则定义的是一个1 1 个元素的数组,在赋初值时再使用f o ri = lt o1 0 来赋值,就会产生权限,因为程序忘记了处理i - - 0 的0 号元素。边界条件是指软件计划 的操作界限所在的边缘条件。 数据类型:数值、字符、位置、数量、速度、地址、尺寸等,都会包含确定的边界。 应考虑的特征:第一个最后一个、开始完成、空满、最慢最快、相邻最远、最小 值最大值、超过在内、最短最长、最早最迟、最高最低。这些都是可能出现的边 界条件。根据边界来选择等价分配中包含的数据。然而,仅仅测试边界线上的数据点往 往不够充分。提出边界条件时,一定要测试临近边界的合法数据,即测试最后一个可能 合法的数据,以及刚超过边界的非法数据。以下例子说明一下如何考虑所有可能的边界 p 】 : 如果文本输入域允许输入l 一2 5 5 个字符,尝试:输入1 个字符和2 5 5 个字符( 合法区 工程硕士学位论文 间) ,也可以加入2 5 4 个字符作为合法测试。输入0 个字符和2 5 6 个字符作为非法区间。 如果程序读写软盘,尝试:保存一个尺寸极小,甚至只有一项的文件:然后保存一 个很大的( 刚好在软盘容量限制之内的) 文件;保存空文件;保存尺寸大于软盘容量的 文件。 如果程序允许在一张纸上打印多个页面,尝试:只打印二页;打印允许的最多页面: 印o 页;多于所允许的页面( 如果可能的话) 。 次边界条件测试 上面所讲的是普通的边界条件,在产品说明书中有定义,或者在软件的过程中确定 但有些边界在软件内部,最终用户几乎看不到,但是软件测试仍有必要检查,这样的边 界条件成为次边界条件或者内部边界条件。寻找这样的边界条件,不要求软件测试员成 为程序员或者具有阅读源代码的能力,但是确实要求大体了解软件的工作方式。2 的乘 方和a s c i i 表是这样的两个例子: ,2 的乘方术语范围或值 位( b i t )0 或1 双位( d o u b l e b i t ) 0 1 5 。 字节( b y t e ) 0 2 5 5 ,字( w o r d )0 6 5 ,5 3 5 或者o 一4 ,2 9 4 ,9 6 7 ,2 9 5 千( k )l ,0 2 4 兆( m )l ,0 4 8 ,5 7 6 计算机和软件的基础是二进制数。因此二的乘方是作为边界条件的重要数据。如: 在通讯软件中,带宽或者传输信息的能力总是受限制,因此软件工程师会尽一切努力在 通讯字符串中压缩更多数据。其中一个方法就是把信息压缩到尽可能小的单元中,发送 这些小单元中最常用的信息,在必要时再扩展为大一些的单元。假设某种通讯协议支持 2 5 6 条命令。软件将发送编码为一个双位数据的最常用的1 5 条命令;如果用到第1 6 至u 2 5 6 之间的命令,软件就转而发送编码为更长字节的命令。这样,软件就会根据双位字节 边界执行专门的计算和不同的操作。 在建立等价区间的时候,要考虑是否需要包含2 的乘方边界条件。例如:软件接受l 1 0 0 0 范围内的数字,那么合法区间除了l 和1 0 0 0 ,也许还有2 和9 9 9 之外,还应该有临近2 的乘方次边界:1 4 ,1 5 ,1 6 以及2 5 4 ,2 5 5 和2 5 6 , ,- 二 - a s c i i 表 a s c i i 码表并不是结构良好的连续表数字0 9 对应4 8 5 7 ;斜杠字符( ) 在0 的前 面,冒号( 在9 的后面;大写字母a z 对应6 5 - 9 0 ;小写字母对应9 7 1 2 2 。这些情况都 代表次边界条件。 如果测试进行文本输入或文本转换的软件,在定义数据区间包含哪些值时,参考一 网管软件自动化回归测试技术及应用研究 下a s c i i 表是相当明智的。例如:测试的文本框只接受用户输入字符a z 和a z i 就应 该在非法区间中包含a s c i i 表中这些字符前后的值叫, , 。 默认值测试( 默认、空白、空值、零值和无) 好的软件会处理这种情况,常用的方法:一是将输入内容默认为合法边界内的最小 值,或者合法区间内某个合理值;二是返回错误提示信息。这些值在软件中通常需要进 行特殊处理。因此应当建立单独的等价区间。在这种默认下,如果用户输入0 或一l 作为 非法值,就可以执行不同的软件处理过程。 破坏测试( 非法、错误、不正确和垃圾数据) 数据测试的这一类型是失败测试的对象。这类测试没有实际规则,只是设法破坏软 件。不按软件的要求行事,发挥创造力吧! 状态测试 状态测试是通过不同的状态验证程序的逻辑流程。软件测试员必须测试软件的状态 及其转换。软件状态是指软件当前所处的情况或者模式。软件通过代码进入某一个流程 分支,触发一些数据位,设置某些变量,读取某些变量,从而转入一个新的状态。同数 据测试一样,状态测试运用等价分配技术选择状态和分支。因为选择不完全测试,所以 要承担一定的风险,但是通过合理选择减少危险。 建立状态转移图 使用:方框和箭头;圆圈( 泡泡) 和箭头。 应包含的项目: e 1 软件可能进入的每一种独立状态。若不能断定是否独立,先认为是以后一旦发 现不是,随时剔除。 2 2 从一种状态转入另一种状态所需的输入和条件。状态变化和存在的原因,就是 我们要寻找的对象。 3 进入或退出某种状态时的设置条件及输出结果。包括显示的菜单和按钮、设置 的标志位、产生的打印输出、执行的运算等等。 由于是黑盒测试,因而只需从用户的角度建立状态图即可。减少要测试的状态及 转换的数量。测试每一种路线的组合,走遍所有分支是不可能的事情。大量的可能性也 需要减少到可以操作的测试案例集合。方法有以下5 种: 】 每种状态至少访问一次。无论用什么方法,每种状态都必须测试。 2 测试看起来最常见最普遍的状态转换 3 3 测试状态之间最不常用的分支。这些分支是最容易被产品设计者和程序员忽视 的。 4 测试所有错误状态机器返回值。错误是否得到正确的处理、错误提示信息是否 正确、修复错误时是否正确恢复软件等 e s 测试随机状态转换。 工程硕士学位论文 进行具体的测试_ - - 定义测试案例 测试状态及其转换包括检查所有的状态变量与进入和退出状态相关的静态条 件、信息、值、功能等等。如:窗口外观、窗口尺寸定义( 固定上次使用时的尺寸) 、 显示的菜单、默认设定值、文档的名称等。状态无论是否可见,都必须进行状态确定。 状态变量也许不可见,但是很重要,一个常见的例子时文档涂改标志( 以此判断退出时 是否询问保存) : 失败状态测试 状态测试的失败测试的案例,主要是竞争条件、重复、压迫和重负。 1 ) 竞争条件和时序错乱 设计多任务操作系统不是很难,设计充分利用多任务能力的软件才是艰巨的任务 在真正的多任务环境中软件设计绝对不能想当然,必须处理随时被中断的情况,能够与 其他任何软件在系统中同时运行,并且共享内存、磁盘、通信设备以及其他硬件资源。 这样的结果,就是导致竞争条件问题;软件未预料到的中断发生,时序就会发生错乱。 竞争条件测试难以设计,最好是首先仔细查看状态转换图中的每一个状态,以找出哪些 外部影响会中断该状态。考虑要使用数据如果没有准备好,或者在用到时发生了变化, 状态会怎样。数条弧线或者直线同时相连的情形如何以下是要面临竞争条件的典型情 形: 1 两个不同的程序同时保存或打开同一个文档。 2 共享同一台打印机、通信端口或者其他外围设备。 3 当软件处于读取或者修改状态时按键或者单击鼠标。 e 4 1 同时关闭或者启动软件的多个实例。 e 5 同时使用不同的程序访问同一个数据库。 2 ) 重复、压迫和重负 这三个测试的目标是处理那些连程序员都没有想到的恶劣条件下产生的问题的能 力。 1 重复测试n 3 1 重复测试是不断执行同样的操作。最简单的是不停地启动和关闭程序,或者反复读 写数据或者选择同一个操作。这种测试的主要目的是看内存是否不足。如果内存被分配 进行某项操作,但操作完成时没有完全释放,就会产生一个常见的软件问题。 2 1 压迫测试 压迫测试是使软件在不够理想的条件下运行内存小、磁盘空间少、c p u 速度慢、 调制解调器速率低等等。观察软件对外部资源的要求和依赖程度。压迫测试就是将支持 降到最低限度,目的在于尽可能的限制软件的必要条件。 【3 重负测试 重负测试和压迫测试相反。压迫测试是尽量限制软件,而重负测试是尽量提供条件 网管软件自动化回归测试技术及应用研究 任其发挥。让软件处理尽可能大的数据文件。最大限度的发掘软件的能力,让它不堪重 负。比如:软件对打印机或通信端口进行操作,就把能连的都连上;服务器可以处理几 千个模拟连接;就按他说的做。不要忘了,时间也是一种重负测试。 重复、压迫和重负测试应联合使用,同时进行。需要注意的是: 1 项目管理员和小组程序员可能不完全接受软件测试员这样打破软件的做法。但 是软件测试员的任务就是确保软件在这样恶劣的条件下正常工作,否则就报告软件缺 陷。如何以最佳方式报告软件缺陷,使其得到严肃对待和修复,也是一门学问。 2 无数次重复和上千次的连接对于手工操作是不可能的。因而需要借助自动化测 试工具n 司来实现。 其他黑盒测试方法 1 像无经验的用户那样做 输入意想不到的数据;中途变卦而退回去执行其他操作;单击不应该单击的东 西 2 在已经找到软件缺陷的地方再找找 原因有- - :一是软件缺陷的集中性。如果发现在不同的特性中找出了大量上边界条 件软件缺陷,那么就应该对所有特性着重上边界条件。对某个存在的缺陷,应当投入一 些案例来保证这个问题不是普遍存在的。二是程序员往往倾向于只修改报告出来的软件 缺陷,不多也不少。比如报告启动一终止一再启动2 5 5 次导致冲突,程序员可能只修复 了这个问题。重新测试时,一定要重新执行同样的测试2 5 6 次以上。 3 凭借经验、直觉和预感 记录哪些技术有效,哪些不行。尝试不同的途径。如果认为有可疑之处,就要仔细 探究。按照预感行事,直至证实这是错误为止。经验是人们对错误行为的称谓。 1 2 4 3 自动化测试 前面提到软件测试的各种方法,在手工测试过程中是非常常用的,但是随着产品 的成熟,市场规模化,产品的批量生产,手工测试人员就很难赶上测试任务,并且w i f i 网管软件很大部分是在做系统的配置工作,如多种安全性配置,多种w l a n 的配置,这些 简单而繁杂的工作,手工测试人员是可以进行,但是如果重复做这些工作会导致以下几 种问题洲: 1 ) 势必降低手工测试人员的积极性,甚至产生厌烦情绪。 2 ) 配置的多样性,作为手工测试人员来说,不太可能要在市场紧张的时候对其有 很高的覆盖率。 3 ) w i f i 产品是在空中传输的,环境的干扰等因素,可能在早上能正常运行的功能, 下午就因环境的干扰而不能正常工作。 o 工程硕士学位论文 所以自动化回归测试的引入成了产品的必然需求,+ 它能给产品测试带来以下几点的 好处: 把手工人员从烦杂的配置劳动解放出来,让其专门关注新功能的测试,或者对 付产品中交动特别大的测试。 把测试的时间延长,这里的延长不是指测试人员的时间延长,而是将我们的测 试自动化后,可以让系统晚上继续执行,同时晚上因为手工测试人员已经离开工作岗位, 相关测试设备也关闭了,所以干扰也相对减少了 自动化回归测试能得到清晰的测试报告及测试日志,这样便于问题的定位及分 析,减少测试人员定位问题的工作时间。 自动化回归测试可以选用的技术嘧1 比较多,大致可分为以下几类: 1 ) 录制回放嘲,这种方式简单实用,一般的手工测试人员都可以使用,业界也有 相关的配套工具对其支持但是其录制的脚本没有什么条理,整个脚本都非常的凌乱, 每次工作人员录制完后要修改的地方很多,需要花费很大的工作量进行修改并且在其中 插入相关的校验点,所以总结其特点就是,简单,但维护的工作量很大,对产品的变更 很难应付 2 ) 数据驱动,根据业务对象设计不同的数据对象,这样相对于模拟了一套被测系 统数据集,这样就可以根据不用的配置需求,更改测试数据,从而达到多种配置之目的, 但是当被测目标变化时,数据库也同样跟着改变,而且这种模式对编写用例来说是比 较困难的 , 3 ) 框架结构嘲,建立一套测试框架,将可以管理测试用例,管理测试报告,对于 开发人员来说,可以很好的继承于这个环境中进行开发,当框架稳定成熟后,相关的 a p i 也稳定成熟后,开发人员就可以用很少的工作量,编写很少的代码来实现产品测试 需求,但这一切都是建立在框架成熟之后,同时测试开发人员也要对框架比较了解才 能更好的体现其价值。 4 ) 框架数据驱动,这是将框架,数据驱动两者合二为一的一种技术,就体现了数 据驱动多样化配置的好处,同时框架也体现了测试管理等特性。 如下表1 1 所示,列举了各种测试技术的成本,收益及净收益等 表1 1 测试技术收益一览表 网管软件自动化回归测试技术及应用研究 但是不是说净收益越高的技术,就是越适合,更重要的是要那种技术更加适合被测 系统及要付出的成本等。而x x 公司的无线网管软件测试产品是基于w e b 管理的应用产品, 产品已经相对较成熟了,同时x x 公司是个小型的无线网设备制造商,所以在回归测试方 面希望能由自动化测试来处理大部分的工作,同时系统产生小小的变更的时候,对整个 测试脚本,测试运行不会有很大的冲突,所以框架结构测试技术成了我们的首选。 1 3w i f i 网管软件简介 由于本文中将要建立w i i f 网管软件的自动化测试模型及应用,所以这里对w l f i 及 w i i f 网管软件做一个简要的介绍。 一 w i f i 就是一种无线联网的技术,以前通过网线连接电脑,而现在则是通过无线电波 来连网b ,而这个接入设备统称为a p ( a c c e s s p o i n t ) ,a p 可以放置在学校,机场,酒店, 医院等各种场所作为用户无线上网的中转站,另外因无线网是在空中进行传输的,所以, 信息的安全就比普通的有线网更加重要,加密技术如w e p 6 4 ,w e p l 2 8 ,t i k p 等管理,或 由第三方认证机构来认证也是必须提供的一种方案,如直接交付给r a d i u ss e r v e r 、 a c t i v ed i r e c t o r y 、l d a p 等认证管理陴1 系统来做签名、授权、鉴权等工作;另外比如学 校部署的a p 可能成百上千个,如果管理人员要挨个去对系统的升级,配置相关的服务, 或对客户端的控制就变的非常困难,所以企业就提供了一种管理w i f i 产品的管理软件来 统一管理,实现系统的统一升级回退,对每个a p 的监控及配置,对每一个客户端的监 控及配置,用户认证的统一配置,对故障日志的统一管理,对流量的统一监控,对w l a n 信息的统一下发,甚至于针对不同的场所提供不同的业务,如在飞机候车室,咖啡厅, 图书馆我们提供热点访问( h o t s p o t ) 与此同时尽量将无线终端隔离在外部网络,这些都 w i f i 网管软件要提供的功能,另c f w l f i 网管软件的访问接口啪1 ,大致有两种,是通过 g u i 进行访问,另外一种是通过命令行的方式进行配置和访问( 可以使用s s h 、串口或 t e l n e t ) ,而x x 公司的w i f i 网管软件产品提供了这两种方式。 j 1 4 本课题的研究工作 本文主要研究和分析软件自动化回归测试,包括分析基本的手工软件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论