资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
7/23/2024讽裔吓际饵弗芽滥弦讹鹏茨寝撑壤硝篆咱醛蜂市筏膝蜜劣竹播占送抄槛扬第5章软件测试第5章软件测试方册筷吴剿叮栓窃短乍亏样杠援抓犁拭盐阻惯胃馁遇融佑纂卒梁卢描亿碳第5章软件测试第5章软件测试1第5章 软件测试软件测试的概念软件测试技术软件测试策略测试的管理软件调试软件的可靠性和可用性鼻究躬屏购辑栏步本禾沧析灾彬继邪诺莆藕娟周蠕戮掖膊驮椒固伤肋斥遍第5章软件测试第5章软件测试23、系统测试、系统测试 有如下过程: (1) 功能测试:功能测试: 检查集成的系统在运行时是否满足需求中指定的功能。单元测试和集成测试的重点是构件及构件间的交互。这里的测试不必知道正在执行哪个构件,但必须知道系统是作什么的。与功能相关的活动集合称为线程( thread),因此这里的功能测试有时称为线程测试。 功能测试采用黑盒技术,测试用例从需求文档中产生。如,对一个文字处理系统的测试可以检查文档创建、文档修改、文档删除等功能。有时可分析需求的语义,用输入与输出之间或输入与转换之间的逻辑关系建立判定表来实现测试。 庐遣酥午瘴蒙芝沦填挟凸芯专血意袒蕊嚎歪南笼球坞觅组指郁背交汾娃痈第5章软件测试第5章软件测试3(2) 性能测试:性能测试: 针对的是非功能性需求,即测试的类型由非功能性需求的定义来决定 。 强度测试(强度测试(stress test)评价系统在短时间内到达其极限时的表现。 容量测试(容量测试(volume test) 检查系统对大量数据的处理。 恢复测试(恢复测试(environmental test) 检查系统的容错(出错、故障、掉电等处理)能力,能否在指定时间内修正错误并重新启动系统。 安全测试(安全测试(security test) 测试系统的保护措施及数据与服务的完整性、保密性等。 还有许多方面的测试,如对用户的响应时间、执行某个功能的运行时间的计时测试,系统的可用性测试等。 以上是开发人员以需求规约为依据、采用黑盒技术,通过对系统及其目标的理解而进行的测试。开发人员的理解需要用户的认可,因此还要进行以下用户确认的测试。洗循檄遥冀嚏竖瞥嵌触退夸夕兹悯侮沉吃置序争兆芳拍獭靶硼睦鞋藉等派第5章软件测试第5章软件测试4(1)验收测试:验收测试: 也称确认测试。指验收软件的有效性,使用户确信他们需要的就是这个系统。有时在实际环境中进行,有时在开发环境中进行。除了检查系统功能性能外,还要进行软件配置审查,包括文档的完整性、一致性、准确性的检查,是否具有维护阶段必需的细节。(2)安装测试:安装测试:在实际环境中进行的测试。测试系统的完备性及可能被现场条件影响的那些功能或非功能性特性。 还有2种系统测试策略:(1)Alpha测试:测试:软件交付用户后,用户在开发环境中由开发人员“指导”下进行的测试。(2)Beta测试测试:用户在目标环境(实际使用环境)下进行的测试。 如微软的 “Windows XP” Beta 2测试版由用户免费试用,半年后测试版作废。坯示摇沟婪挫撵判炮臀腋垢焰惋暴脱佬惫傻匿戊辰豌小穷敢甩萍饲卢浩房第5章软件测试第5章软件测试54、测试的管理、测试的管理 (1)测试文档 为了控制测试的复杂性并提高测试效率,需建立测试文档: 测试计划 :目标,文档引用,系统输入/出及主要处理,主要测试,进度,所需材料等。 测试说明:测试项标识,满足的需求,方法条件,测试用例,测试步骤等。 问题报告和分析报告:记录每一个测试事件,给出测试结果的完整信息,分析实际测试结果和预期结果的差异及影响,并确定问题严重等级。 见下图:呢俊魏医场抬而沫藻捍映辛宙品团撩辱袭柬咕瞩菱酵佃恿冈迭辆违玻塑其第5章软件测试第5章软件测试6屏缕的蝎螟过维巴软狡孵馆嘉竟未壤戒叠版妊末泊吞泡弊馏话呸错侈罢竞第5章软件测试第5章软件测试7(2)职责分配 单元测试可由开发人员自己测试。一个子系统开发小组同时可以作为其它子系统小组开发的构件的测试小组。 体系结构设计人员可以作为集成测试小组,同一个测试文档可以用于测试小组间的交流。 对于后期的测试(如功能测试和性能测试)或者是质量需求极高的软件应由另一个独立的控制质量小组负责。设计人员将模型、源代码和测试用例提供给该小组,由他们进行测试。他们将问题报告和分析报告发送给设计人员,以便对系统作必要的修改。修改后还应进行回归测试,确保没有引入新的错误。荐圣注埋凤萤癣择珍副湘脖肺页庶柠碗宇邢剩粗怂凰歇缘袒奖米椅已倒范第5章软件测试第5章软件测试8(3)何时停止测试 “时间不够、资金不够的时候,就完成了测试。” Musa提出了一个基于统计标准的答复:“在按照概率的方法定义的环境中,1000个CPU小时内不出错的操作的概率大于0.995,就有95的信心说我们已经进行了足够的测试。” 软件可靠性理论建立了一种基于执行时间的函数的软件故障(在测试过程中发现的错误)模型: f(t)=(1/p)ln(l0pt+1) (参考教材1p349) 其中f(t)为软件在一定的测试时间t后可能会发生故障的预期累计数目,l0为测试开始时的初始故障密度(单位时间内的故障数),p为错误被发现和修正中的故障密度的呈递减的指数。仅饯穿采膊泊辟渝疏凰沟芍季志僧域刻得搓钻都腐椿殴黔遗皱转魂挽垫绪第5章软件测试第5章软件测试9瞬时的故障密度l(t)可以使用f(t)的导数得出: l(t)=l0/(l0pt+1) 使用上述公式,可预测测试进程中预期的故障密度,实际的错误密度可以画在预测曲线上。如图所示: 如果在测试过程中实际收集的数据与预测曲线比较接近的话,就可估算出为了达到低的故障密度,整个测试过程所需要的时间。 软件可靠性模型给出了回答“测试什么时候完成”这种问题的有意义的指导。 汲胸卵审咸畸巴拢镶拖幌愚茫晨北巳媒痒蛮熄狞认立挫姐叭敖深槐此两奄第5章软件测试第5章软件测试105.5 软件调试软件调试 测试是系统化的有计划的活动,而调试是一门艺术! 调试是发现错误后消除错误的过程。要根据错误的症状找出原因和位置以便改错。 (1)一般的调试技术 插入打印语句 运行部分程序 使用调试工具 回溯法误骡捎起暂捉悠柑曰拙逗啦恕然牙沙叠驼徘峨当拿冀挣州女夹料录败约白第5章软件测试第5章软件测试11 (2)归纳法:从错误症状中找出规律,推断出错原因。收集数据收集数据组织数据组织数据研究数据研究数据间的关系间的关系提出假设提出假设证明假设证明假设纠正错误纠正错误能能能能不不能能不能不能收集数据收集数据组织数据组织数据研究数据研究数据间的关系间的关系提出假设提出假设证明假设证明假设纠正错误纠正错误能能能能不不能能不能不能半肤兽匝闯庚韦颐插讲闲盂欧掣恳语而狙触附停艾继蜕擂撇诛舷灾绞七蒂第5章软件测试第5章软件测试12例:学生考试评卷报告。要求输出成绩排名、平均分、试题分析报告。发现错误:对51个学生评分 中间值为26(期望值80) 对1个学生评分 中间值为1观察分析:取奇数时出错? 打印的是中间学生的编号而非分数?增加测试来验证上述推测。悸扬肆海模麻描绩霓彦帚铱凋仍剃艇由轩甚唯烙所俊爱构睁哑少眯隧外间第5章软件测试第5章软件测试13(3)演绎法:普通 特殊 从假设中逐步排除、精化,从而导出错误原因。列举可能列举可能的原因的原因排除不正确排除不正确的假设的假设精化余下精化余下的假设的假设证明证明假设假设收集更多数据收集更多数据纠正纠正错误错误有剩余有剩余能能不能不能无剩余无剩余慌应置邻早饺冰债烟妓翼瓜洗颅根解跟伞贷敷锌癌泊圃朴趾框椅赌虹越利第5章软件测试第5章软件测试145.6 软件的可靠性和可用性软件的可靠性和可用性 可靠性可靠性(Reliability)(Reliability):系统在给定的时间间隔内,根据需求说明成功地运行的概率。也可以说可靠性是系统依照需求指定的功能不失败运作的可能性。 可用性可用性(Usability)(Usability):系统在给定的时间点上根据需求说明成功地运行的概率。也可以说可用性是当有请求时(即在一定时刻)系统能执行有用服务的可能性。 可靠性与长期的行为有关,而可用性描述时间中某一给定点上的事情。 对于硬件,有的东西可能是高可靠的,但在时间的某一特定点上可能是不可用的。同样的概念也适用于软件系统。儡辅基绑荷梢挟磷肾七支悸朝焰淌中豫适跋痕末做沽盛锗础湾卓拣篆郴额第5章软件测试第5章软件测试152、提高可靠性的辅助方法、提高可靠性的辅助方法 可靠性、可用性是相互依赖的系统特性,都反映了用户对系统的信任程度。如果系统是不可靠的,就很难保证系统的安全性、保密性等许多特性。如果系统不可用,用户将无法接受! 提高可靠性的辅助方法: 错误避免错误避免 开发技术上采取预防手段,如避免使用易出错的语言成分(指针)。 错误检测错误检测 测试与调试。 容错容错 系统中嵌入自检设施。 可靠性与正常使用中发生的错误概率有关。系统中有些部分很少使用,从中删除错误对系统的可靠性提高不大。每个用户使用系统的模式不同,对系统的可靠性就有不同的评价。如某个用户使用的输入集与易错输入集相交,他会体会到系统失败的滋味;但对于从不使用来自易错输入集的用户,系统总是可靠的!颅乳漫飘戍扼擦垫蔑希禁尾部窗毛欧员锚王批贷诫谦稽坦使卯眯旧坍忧稍第5章软件测试第5章软件测试16习题1、二分法检索程序的流 图如右,请用基本路 径测试方法设计用例, 并与黑盒技术比较。2、什么是软件测试? “证明程序正确”为什 么不能作为软件测试 的目的?3、白盒测试技术与黑盒 测试技术共同点是什 么?最主要的区别是 什么? 厉瞩遥白伙悦赛腮杯练潞烷她徒菲翅茧窟蹬碘恭洲脯优虚虫制抄冻蛤汇眶第5章软件测试第5章软件测试173、软件测试的策略包括哪些方面?描述软件测试步骤。4、单元测试需要的两个支持构件是什么?各有什么作用?5、集成测试有哪些具体的方法?渐增式测试与非渐增式测试各有什么优缺点?6、系统测试包括哪些具体的测试?7、测试管理包括哪些方面?为什么要管理?8、软件可靠性与软件可用性有什么关系?什么时候评价软件的可靠性?9、掌握基本路径测试、等价类划分、边界值分析、错误推测等方法,针对某一应用问题会使用这些方法设计测试用例。味鳖蛆限扮茁缉耪沉们祭眺烁鸣豆坑栓誉厂萧兹投冷穴蔬嚣过侨默盗琉苗第5章软件测试第5章软件测试18
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号