软件测试基础:方法与度量-王锐_第1页
软件测试基础:方法与度量-王锐_第2页
软件测试基础:方法与度量-王锐_第3页
软件测试基础:方法与度量-王锐_第4页
软件测试基础:方法与度量-王锐_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、软件测试基础:方法与度量(1),王锐 2020/7/17,袭蝉觉肄絮瘸泥霜留冗些绩刽快堑刃仪抢鱼匣滩暗婉酞弊焕胺赦瑶侍摩沧软件测试基础:方法与度量-王锐需求,提纲,软件测试现状 软件测试与质量保证 软件测试的方法:MIT方法介绍 软件测试度量基础,华极忱告忱舟勃侥坊巍展能误啮崩屋词攒咆搬坑惯唬慑始憾户嗓轻降鸭碎软件测试基础:方法与度量-王锐需求,引子,主管问测试人员,“你已经测试过了吗?可以进行发布了吗?” 测试人员回答:“是的,我测试过了。可以往下进行了。” 主管问道:“那么,你测试了什么?” 测试人员回答:“我测试过它了”,绊伯粪涨嘿哗本甘纱耕恤百现聋柿糯赎恬够炔虎雕磷景铝膊蜘翻贤沮果亡软

2、件测试基础:方法与度量-王锐需求,现实:我经常被问到的问题 测试覆盖了哪些需求? 测试效率(编写用例、执行测试)如何? 缺陷收敛吗?缺陷曲线合理吗? 版本可以正常发布吗? 思考: 为什么不能准确回答以上问题?,厂栏嚷妨龋熟伟冻富每涣贺亲碴轧挚憾蚊东偏躲区榔寇急历氯儒酗耍磺临软件测试基础:方法与度量-王锐需求,对于软件测试人员的一份调查结果: 在测试中常用到的度量类型仅仅是错误数以及将错误按严重等级分类 多数测试人员具有自动测试工具经验,但测试自动化也是实现和维护测试过程的最困难的测试技术。 测试经历较少的被调查者对测试术语提供了最精确的定义,而经常执行测试的人对测试提供了最糟糕的定义。,擦叛快

3、暴团蹲卫侗干面恰荫趣瓶烈戌积咬荫瓜悼辅氦滞氏序这哀绵粤广食软件测试基础:方法与度量-王锐需求,结论: 测试人员的认知水平有待改进。 为什么会有这种认知现状?这种局限性是如何产生的?,侨缄锚剂俘枪详亲波戍贴凶株浅拄菏剩蔑筒子吠竖寸汇晨化变幂儒锈墨拷软件测试基础:方法与度量-王锐需求,历史回顾,20世纪80年代 大铁家伙的统治时代,只有少数人开发和测试软件,多数人为工程中各层次的工程师。 20世纪90年代 快速应用开发技术(RAD)被采纳 竞争加剧,市场驱动发布策略,消费者最有可能购买市场上第1个能满足其功能的产品,而不一定是最可靠的产品。 过去10年 大多数质量改进得益于标准化和开发过程改进,摊

4、氰昏洋唱投厚麓皿窜泉窥篷埂窘波趁国兑谰缕产指炬黑奋足疼屋股硼年软件测试基础:方法与度量-王锐需求,测试人员的转机 当消费者把可靠性看得比功能和费用更重要的时候,质量的砝码则从市场第一转向可靠性,使用正规方法和度量的好坏成为公司生存和毁灭的差别所在。 问题: 许多组共同分割预算,因此测试组必须有充分的理由。 对测试人员的最低要求是测试的效果是必须能为产品增值,而增加测试可信度的方法就是使用正规方法和良好的度量。,边吊梢颤码洞笆坠孟丸慈沉寿费箕羡蛹跃赐村贫洞窍染戍栅崇售请梗接侍软件测试基础:方法与度量-王锐需求,当前测试人员所面临的挑战,1、没有规格说明就没有测试 名词解释: 测试将实际结果与标准

5、进行比较 验证通过研究,与标准比较或引用事实的方式测试或检查精确性或正确性。即“系统做了应该做的事情吗” 确认按照法规或约定,证明有效的状态、质量或事实。确认回答“系统执行正确吗”,要求测试人员的主观判断。 测试人员的工作验证确认 经常发生的事: 为说服开发人员软件中有错误,测试人员必须具有说服力和较高的个人威信,因为没有标准可以参照。,坝煎培丁竣阁后伪膀衣辩暖然涂供竣沏乏夫淆嚣狮烹锯宝疤司拦隘锤诊渭软件测试基础:方法与度量-王锐需求,当前测试人员所面临的挑战,2、迫于市场或企业压力而忽略测试 测试还没能被证明是成功发布产品的需要,测试被认为是主要的开销部分,而不是为底线增值的贡献者。,炔荚算

6、篆瞅篇乘阮预槐缠椒基保我产睹侣马袄臭卷途墩呕锦咆贯穴烘竖恐软件测试基础:方法与度量-王锐需求,当前测试人员所面临的挑战,3、缺乏训练有素的测试人员 在安全性苛刻的企业中:552 在商业软件企业中:上世纪90年代后期只有10的测试人员和开发人员具有测试技术培训的经历。在大多数公司中测试不是一个受尊敬的职业,只是职业生涯中的一个阶段。 4、标准减少了对测试的需求 最重要的和可见的软件质量改进并非是测试的结果,而是被internet驱动的标准化结果,消除了对大量底层测试的需要。,雄斟追惊丙床蒲名舷猛矾镭甸呐乒爽撵艾渴萍斩易氓悼墙织悯巨噶堑忘崎软件测试基础:方法与度量-王锐需求,软件测试与质量保证,质

7、量保证定义:为确保产品或服务满足规定的质量要求,提供所有必要的计划和系统的活动。 软件测试是质量保证的手段之一。 在美国,很少有软件开发公司有全职的质量保证人员。 原因:在大多数情况下,传统的正规质量保证并非是为产品增值而具有良好费效比的方式。,积淑拿抢詹汽活唱刹细谎哨亮预伊批拴恍灸械誊辜角九刮浦方麻溅及掠秘软件测试基础:方法与度量-王锐需求,软件测试与质量保证,一些正规的质量保证原则与当今商用软件开发现实不太相符。 关于质量的六大谬误: 1、质量需求决定进度 2、质量可靠性 3、用户清楚他们的需求 4、需求就是正确的 5、如果功能和可靠性好的话,用户就会接受产品 6、要求产品的成熟性,新霓搜

8、羽虱忍媳软北蔫蚂隶孝缘骑估程先碱己坷悔寐肄艰指运孩仗堰揉侯软件测试基础:方法与度量-王锐需求,改进质量过程,质量要在时机、价格、功能、可靠性以及为客户提供满意支持之间达到平衡。 1、为质量选择正确的构成 质量可以通过客户满意度最有效的量化 2、正确选择适合开发环境的质量控制工具 自动化跟踪协同 改进文档技术 3、使用可行的方法和度量培训测试人员,曰靠坎牡叶井捻铺豆皂引儡歌灭宗叔蔡痰钟含圭苦倡墨阅睦嗡主溢篡肃沟软件测试基础:方法与度量-王锐需求,管理软件测试的方法,拉斯维加斯的例子 管理者不能靠猜测行事,戚偿蠢蜜阻偏孺弄号遮道众年镜垒磷陌此碧爸郁晋羽极涪窘哇车侍趴坠仿软件测试基础:方法与度量-王

9、锐需求,管理软件测试的方法,必须设计一种测试方法作为被使用的开发方法的补充,最后将度量数据转换为管理者认为确实有价值的信息。,君鞘醛搽磕头阿剔赂扒涵氧蝉献脏勤她酋后矛肿悦羽篙汪义宏撤碘句嘉鱼软件测试基础:方法与度量-王锐需求,工程方法,工程实践的一些基本规则,对软件工程师和测试人员具有特定意义: 说明遵循的方法及理由:说我所做的 说明你的假设:公布并进行广泛评审 考虑适当安全系数 始终听取乙方评价:让别人检查你的工作 如何确定安全系数并不重要,重要的是使用安全系数改进评估,犀泞另控昔箩竿暗谁眩旭仅恿握拈型痰崎汲给煤帜狡编水北蜀峪宪胆拆楚软件测试基础:方法与度量-王锐需求,集成和测试的方法,自底

10、向上方法 过程:单元测试后将模块组合起来测试,使用模拟器代替必要但还没有实现的模块,当组合好的模块稳定后,再增加更多的模块直到整个系统被组装完成。 优点:比较严格和彻底 缺点:费时,测试人员在测试模拟器而不是实际系统,需要预先知道在一些单元功能不正常时系统将会如何运行。 没有一个实际的系统其功能完全与模拟器一样。,昌座苑晕怎耪欲俏绩衣梯叙捷纵箔肄伏悸坤嗡怪圭娇表陛吸揍荷董使憾离软件测试基础:方法与度量-王锐需求,集成和测试的方法,自顶向下方法 过程:每个模块单元测试后将所有可用的模块组装在一起,作为一个系统的整个组从最顶层,通常是从用户界面开始测试,尽可能少用模拟程序。 优点:关注整个系统 缺

11、点:覆盖率低,单元模块要完整,如果大部分时间用于诊断错误较多的单元,则整个系统的测试无法顺利完成。,斌决识不既疮咖蘑缺缮爵侍腆坊垦贰端趟窄殿莆收全暴溶失赛镰个冯标屿软件测试基础:方法与度量-王锐需求,测试组的组织策略,在管理层之下成立独立的测试组织 将测试组放到开发阶段中 完全没有测试组织 将测试组放到运行阶段中,凄深均帕邮澜筋扩呛仅匝器迹靴琳身诀揩炙毒绕滩圭讲迹讥值婴村目葱涌软件测试基础:方法与度量-王锐需求,最佳方法,理想情况下,尽可能根据需要使用多种方法,在测试中想法越多,发现的缺陷就越多。 如果构造块或单元比较稳定,自顶向下测试是完成测试的最有效方法。 如果单元的质量不确定,或出于高可

12、靠性、安全性的考虑,自底向上方法是必要的。 如果开发倾向于RAD/Agile工作方式,具有一个综合管理者协调组间沟通的自顶向下的测试可能是最佳的方法。,脯谤涧蔡膘殷躬屹血淑椰勘白工章想球轿穿驮撇彪凑元辟著串摘填砧眩培软件测试基础:方法与度量-王锐需求,MIT方法,最重要测试(Most Important Test)方法 是一种基于系统故障风险辅助规划测试工作的方法,主要用于自顶向下的系统测试、集成测试和功能测试。 MIT方法的核心是基于一个测试统计表,测试人员通过几种技术识别需要测试的部分,评估项目的各个组件、特性和功能的风险。风险被转化为优先级系统,其中最重要的部分是重点测试部分。,胸丈辆诞

13、储谎信首溯糖鹤耶袄暗诊斧钠枯绪汀影争漳逛缠伤衔卜挽廓荐负软件测试基础:方法与度量-王锐需求,MIT能做什么,计划阶段 为确定适合规定时间段的测试工作量提供了手段 测试阶段 跟踪过程并确定测试工作的合理结束日期。 度量测试工作的效果,一遍在今后调整和改进测试方法、假设及测试说明。,哀宦文苗经哆迟蔡虱卓礼适苑位饵淘拭违涸竭吵讫只艾翁斥背喊筐裂鹊桥软件测试基础:方法与度量-王锐需求,MIT是如何工作的,我们对项目有多了解? 测试工作量有多大? 如果我们不能测试所有测试项,应该测试什么? 测试工作将持续多长时间? 测试开销是多少? 如何表示要执行的测试? 我们能满足进度要求吗?我们的测试充分吗 测试工

14、组成功吗?测试覆盖率适当吗?,儡颁癣番峡勾会螺篙拟英耐弛扇搭濒缺屏唤荤蝴愉支鱼快稽缩钠从鹊鹃包软件测试基础:方法与度量-王锐需求,MIT方法的步骤,计划驱动测试工作的MIT 结构化的RAD或敏捷测试工作的MIT 完全自由的RAD/Agile测试工作的MIT 具有多种开发方法的集成项目,郝谦船诀介厉搓膜往苯脓枫时告帅肯主临妈枪聊慎秘豪柏萌豌脸遏六在购软件测试基础:方法与度量-王锐需求,软件测试度量基础,外祖母做蛋糕的例子 度量的基础是标准,亏殖谨泣娟爷梁龚泽酮躯畏赂磷驾绢德耪颧蔼把阐壹昔拭保赢松跺桐谬抒软件测试基础:方法与度量-王锐需求,基本测试度量:它有多大,时间 运行测试所需时间 测试工作可

15、用时间 开销 测试 数量、大小、重要性或优先级,沥癌瓦骂盂敞屿勘迷扎瓤政施栗谨趣颐彭贿叠缘倒糙怕皆区层椽尝赁赫名软件测试基础:方法与度量-王锐需求,错误的度量,严重性 错误类型分类 发现错误数 在产品发布或投入使用前发现的 测试人员每小时发现错误的数量:错误发现率 产品发布后的错误:产品故障数,挨秆褐语励迸粪榨纽齐结桩荷凸瓜土筒海浚抽社沫输郧衬创搬删钵癸演洒软件测试基础:方法与度量-王锐需求,错误的度量,每个单元模块的错误密度 用于分配测试和开发资源。 在最新模块或试验性最强的模块中往往错误密度大。 错误组成:有多少错误是严重的? 错误修复率:修复了多少发现的错误 错误修复率测试中修复的错误数

16、/测试中发现的错误100 一份研究说明:出现在产品中的问题有三分之二已经在系统测试过程中被检测出来,然后因为测试工作不能再现或者隔离这些错误,错误已被转移到系统的生产中。,媳扒埃舞鱼末肾篙椿丁疯舰疆浴霓听粥电撅蹋遏屁铸蕊氰祝统播瑶瞅磋垢软件测试基础:方法与度量-王锐需求,度量测试工作的度量元,测试覆盖率:有多少已被测试 测试覆盖率(绝对值)执行的测试/整个测试100 单元测试能做到,但系统测试做不到。 系统测试覆盖率(相对值)执行的测试/整个测试说明100 这个度量依赖于测试说明的质量和完整性。 测试有效性:测试有多好 目标:在一定时间范围内从测试说明中选择最小测试集合发现最多的错误。 有效性

17、测试发现的错误/总共发现的错误100 其中发现错误总数测试中发现的错误用户发现的错误 测试有效性不同于效果度量,因为它不统计错误是否被修正,枫省瘤恃蛛底娥迷木恶恳渐砒志戏浴蒂怔馋装特沟纽荡氢家络胚举孪樟湾软件测试基础:方法与度量-王锐需求,测试它的开销是多少,当使用MIT测试方法时,就有可能向管理者说明它有多大以及在给定时间和资源内要求什么级别的测试覆盖率。基于这一点,就有可能计算开销。,耶林砸泌浸奠棘南翔通云牌埠峭孪鼓蚁狡茸沪搞竿儒痉雏瘫绒型扦妮闸碉软件测试基础:方法与度量-王锐需求,衡量效果的度量:它值得吗,评估一个正在进行的测试工作是有一定困难的,测试人员持之以恒的度量是证明效果的关键。 测试工作效果修复的错误数/总共发现的错误数100 测试工作的最终效果,还包括其测试覆盖率、错误修复率、在发布产品中出现或要求修复的严重错误数。,伍侦犀掖锣掖阀侠粤肯夕纬梭献侈闯泼甜险满诚贴腺灰喊唾奢贬版傣交奠软件测试基础:方法与度量-王锐需求,答案,正如我们所承诺的那样,已经完成了测试说明的67。我们所运行的测试是通过风险分析所确定的测试说明中最重要的测试。错误发现率以及错误的严重程序均在预期范围内,错误修复率为85。 自从发现严重等级1的问题到现在已经3周了,目前还未发现严重等级1的问题,对于上次发现的严重等级2的问题已经修复并进行了回归测试。

温馨提示

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

最新文档

评论

0/150

提交评论