软件测试100901(answer)

上传人:艾力 文档编号:50718410 上传时间:2018-08-10 格式:PPT 页数:494 大小:6.77MB
返回 下载 相关 举报
软件测试100901(answer)_第1页
第1页 / 共494页
软件测试100901(answer)_第2页
第2页 / 共494页
软件测试100901(answer)_第3页
第3页 / 共494页
软件测试100901(answer)_第4页
第4页 / 共494页
软件测试100901(answer)_第5页
第5页 / 共494页
点击查看更多>>
资源描述

《软件测试100901(answer)》由会员分享,可在线阅读,更多相关《软件测试100901(answer)(494页珍藏版)》请在金锄头文库上搜索。

1、软件测试 Software testing软件学院 段喜龙 D2012.92课程安排:w 学时分配:40学时(32+8)w 教材: 软件测试与质量保障袁玉宇著要求w课堂纪律 w实验 w作业 w考试4第一部分 基础篇第1章 软件测试背景 1.1 软件错误案例(when software attacks) 1.2 软件缺陷(whats?why comes?and its cost) 1.3 软件测试员(job and qualification)1.1 软件错误案例Software cases6趣事(The funny)w 美国国税局(IRS)的尴尬n1993年7月,IRS发出了近680亿美元的税

2、单 w 最大方的自动柜员机 n2001年1月,欧元正式流通后几天,德国的某些 自动柜员机竟能在提款后不记入帐目! w 坏脾气的洗手间n2001年6月,在英国,一个全自动的洗手间突然 出现故障,将一位老太太整整困了2小时7严重事故(The serious)w 1996年12月,欧洲航天局(ESA)阿利亚娜5型火 箭在发射39秒以后爆炸(10年,70亿)n原因:运算溢出错误 w 1999年11月,美国国家航空航天局(NASA)发射 火星温度探测器失踪n原因:单位换算错误 w 千年虫问题,大约1974n原因:盲目的强调数据压缩8悲剧(The tragic)w 爱国者导弹的失利(1991年2月)n原因

3、:积累的时钟误差 w 美国海军“文森斯”号巡洋舰误击伊朗客机 (1987年4月)n原因:不可靠的模式识别算法1.2 软件缺陷software faultDefect-缺点 Variance-偏差 Fault-缺陷 Failure-失败 Problem-问题 Inconsistency-矛盾 Error-错误 Feature-特殊 Incident-毛病 Bug Anomaly-异常101.2.1软件缺陷是什么?w 定义:只有符合下列5个规则的软件问题,我们 将其定义为软件缺陷(software fault)n软件未达到产品说明书标明的功能n软件出现了产品说明书指明不会出现的错误n软件功能超出产

4、品说明书指明范围n软件未达到产品说明书虽未指出但应达到的目标n软件测试员认为软件难以理解、不易使用、运行速度 缓慢、或者最终用户认为不好。111.2.2为什么会出现软件缺陷?w 从小程序到大项目的无数研究得出:导致软件缺陷最大的原因是产品说明书(需 求) w 其次的原因是设计方案的问题。121.2.3软件缺陷的修复费用1.2.4 软件质量w软件质量是软件产品满足使用要求的 程度。 w质量模型:nMcCall模型nBoehm模型nISO/IEC9126模型1.3 软件测试员Software tester151.3.1软件测试员的工作w 软件测试员是客户的眼睛,是第一次看到软 件的人,代表客户说话

5、,应力求完美。 w 软件测试员的目标是尽可能早的找出软件缺 陷,并确保其得以修复。16The Software Job Spectrumw SDE: Software Design Engineer w SDE/T: Software Design Engineer in Test w STE: Software Test Engineer w PM: Program ManagerSDESTEDevelopmentTestingSDE/TPM17Division of LaborWindows 2000 Product TeamTotal of 5,245 People 900 Develo

6、pers 1,800 Testers Largest product team in Microsoft history (at the time)181.3.2怎样成为优秀的软件测试员w 技术能力 w 探索精神 w 不懈努力 w 创造力w 说服力 w 准确的洞察力 w 老练稳重 w 追求完美19第2章 软件测试基础2.1 测试原则(principle) 2.2 测试目的(purpose) 2.3 测试对象(object) 2.4 测试术语(glossary) 2.5 测试方法(method)2.1测试原则principle211.完全测试程序是不可能的w 输入量太大 w 输出结果多 w 软件

7、实现途径太多 w 软件说明书没有客观标准222.软件测试是有风险的行为w 如果试图测试所有情况,费用将大幅增加 ,软件缺陷漏掉的数量并不会随费用上涨 而显著下降。 w 如果减少测试或者错误地确定测试对象, 那么费用很低,但是会漏掉大量软件缺陷 。 (每个项目都有一个最优的测试量)233.测试无法显示潜伏的软件缺陷“Program testing can be used to show the presence of bugs but never to show their absence.”Edsger W. Dijkstra, 1972244.找到的软件缺陷越多,就说明软件缺陷越多w 充分注

8、意测试中的群集现象。 经验表明,测试后程序中残存的错误数目 与该程序中已发现的错误数目成正比。There is Always One More Bug255.并非所有软件缺陷都能修复w 没有足够的时间必须保证按时完成 w 不算真正的软件缺陷 w 修复的风险太大修复一个可能导致其他 w 不值得修复不常出现或在不常用功能中 出现的对于软件缺陷是否应该修复,其决策过程 应由软件测试员、项目管理员和程序员共 同参与。266. 软件测试是一项讲究条理的技术专业w 对于软件测试应严格制定并执行测试计划 ,排除测试的随意性。 w 应当对每一个测试结果做全面检查。 w 妥善保存测试计划,测试用例,出错统计 和

9、最终分析报告,为维护提供方便。 w 程序员应避免检查自己的程序。2.2测试目的purpose28基于不同的立场,存在着两种完全不同 的测试目的w 从用户的角度出发,普遍希望通过软件测 试暴露软件中隐藏的错误和缺陷,以考虑 是否可接受该产品。 w 从软件开发者的角度出发,则希望测试成 为表明软件产品中不存在错误的过程,验 证该软件已正确地实现了用户的要求,确 立人们对软件质量的信心29Myerss Testing ObjectiveswTesting is a process of executing a program with the intent of finding an error.

10、wA good test is one that has a high probability of finding an as yet undiscovered error. wA successful test is one that uncovers an as yet undiscovered error.30换言之,测试的目的是:w 以最少的时间和人力,系统地找出软件中 潜在的各种错误和缺陷。 w 证明 w 检测 w 预防2.3测试对象object32测试对象w 软件测试并不等于程序测试。软件测试应 贯穿于软件定义与开发的整个期间。 w 需求分析、概要设计、详细设计以及程序 编码等各

11、阶段所得到的文档文档,包括需求规 格说明、概要设计规格说明、详细设计规 格说明以及源程序,都应成为软件测试的 对象。2.4测试术语glossary34错误(error)w 人类会犯错误,很接近的一个同义词是过 错(mistake)。人们在编写代码是会出 现过错,我们把这种过错叫做bug。35缺陷(fault)w 缺陷是错误的结果。更精确地说,缺陷是 错误的表现,而表现是表示的模式,例如 :叙述性文字、数据流框图、层次结构图 、源代码等。 w 缺陷分为过错缺陷和遗漏缺陷。若把某些信息输入到不正确的表示中,就是 过错缺陷;如果没有输入正确信息,则为 遗漏缺陷。36失效(failure)w 当缺陷执

12、行时会发生失效。有两点需要解释:一 是失效只出现在可执行的表现中,通常是源代码 ,或更确切地说是被装载的目标代码;二是这种 定义只与过错缺陷有关。对于遗漏缺陷,可以通 过有效的评审来避免其产生的失效。 事故(incident)n当出现失效时,可能会也可能不会呈现给用户, 事故说明出现了与失效类似的情况,警告用户注 意所出现的失效。37测试(test)w 测试显然要处理错误、缺陷、失效和事故 。 测试用例(test case)n测试用例应由测试输入数据和对应的预期 输出结果这两部分组成。OVER38通过维恩图理解测试w 软件测试基本上关心的是行为,而行为与 软件(和系统)开发人员很常见的结构视

13、图无关。n结构视图关注的是它是什么,而行为视图关注 的是它做什么。n一直困扰测试人员的难点之一,就是基本文档 通常都是由开发人员编写, 并且是针对开发人 员的,因此这些文档强调的是结构信息,而不 是行为信息。39w 考虑一个程序行为全域。给定一段程序及 其规格说明,集合S是所描述的行为,集合 P是用程序实现的行为。S 规格说明P 程序程序行为预期的所实现的40S 规格说明P 程序预期的所实现的程序行为遗漏缺陷过错缺陷测试就是确定既被描述又被实现的程序行为的 范围,同时尽量找出缺陷。S和P相交的部分是“正确”部分,即既被描述又 被实现的行为。41S 规格说明P 程序程序行为T 测试用例5621

14、437422和5,可能会有没有测试的已描述行为 。1和4,经过测试的已描述行为。3和7,对应于未描述行为的测试用例。2和6,可能会有没有测试的程序行为。1和3,经过测试的程序行为。4和7,未通过程序实现的行为。 测试的目标:测试人员怎样才能使这些集 合的相交区域(区域1)尽可能地大。2.5测试方法44从代码的特性角度(即内部)出发w 单元测试(Unit Test):最微小规模的测试 ,用以测试某个功能或代码块。典型的单元 测试应由程序员而非测试员来做,因为它需 要知道内部程序设计和编码的细节知识。 w 功能测试(Function Test)或特性测试( Feature Test):按照软件的功

15、能或特性逐 个进行测试。 覆盖测试(Coverage Testing)45w 提交测试 (Check-in Test):在开发人员对代码做 了任何修改,或者修复了某个Bug时,需要重新 Check-in代码 (即将修改后的代码放大到整个大 的系统中) w 基本验证测试 (Build Verification Test,简称 BVT):对完成的代码进行编译和连接,产生一个 构造,以检查程序的主要功能是否会像预期一样 进行工作。这是最简单而又最省时的一种测试方 法。每产生一个新的构造时都要进行测试。如果 BVT通不过,表明问题很严重,开发人员需要尽快 修复出现的问题,测试人员也就不用浪费时间做 其

16、他测试了46w 回归测试(Regression Test): 过一 段时间以后,再回过头来对以前修复 过的Bug重新进行测试,看该Bug是否 会重新出现。47从用户的角度(即外部)出发w 配置测试(Configuration Test):从用户 的使用出发进行多方面的测试,要考虑到 用户的多种情况,用多种配置对软件进行 测试。 w 兼容性测试(Compatibility Test):主要 考虑兼容性问题,比如同一个产品的不同 版本之间的兼容问题,不同厂家的同一个 产品之间的兼容问题,不同类型软件之间 的兼容问题等。 使用测试(Usage testing) 48w 强力测试(StressTest):在各种极限情况下对 产品进行测试 (如很多人同时使用该软件 ,或者反复运行该软件),以检查产品的长 期稳定性。 w 性能测试(Performance Test):本项测试是 保证程序具有良好的性能。如果别人的产 品只需5秒钟就能得出结果,而你的产品需 要1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号