软件测试案例分析完整版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试案例分析 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】
对软件测试理解
软件测试作为软件质量保证的一种重要方法,近些年来, 软件测试越来越受到产业界、教育界和学术界的重视。软件测试,描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
1软件测试的方法
黑盒测试
在黑盒测试(或称功能测试)中,不考虑程序的内部结构和表现,其目的是确定程序的输入与输出是否与其规格一致,力图发现以下几类错误:
是否有不正确或遗漏了的功能在接口上,输入能否正确地接受能否正确地输出结果
是否有数据结构错误或外部信息(例如数据文件)访问错误性能上是否能满足要求是否有初始化或终止性错误
黑盒测试的主要缺点是依赖于规格的正确性(实际情况并非如此)和需要采用所有可能的输入作为测试用例才能保证模块的正确性。
白盒测试
在该方法对软件的过程性细节做细致检查,对程序所有逻辑进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。测试用例从程序的逻辑中产生。确定程序逻辑覆盖有几条原则,其中之一是语句覆盖,要求程序中的每条语句至少执行一次。这条原则是必要的,但不充分,因为部分错误并不能检测出来。
从上至下测试
从上至下测试从程序的顶点模块开始,然后逐步对较低级的模块进行测试。为了模仿被测试模块的低级模块,需要哑模块或桩子模块。从上至下测试的主要好处就是排除了系统测试和集成,它可以让人们看见系统的早期版本并证明系统的正确性。它的效果之一可以提高程序员的士气。从上至下测试的主要缺点是需要桩子模块,并
且在桩子模块中的测试数据直到输入输出模块加入之前不能确定。某些模块的测试数据难以创建,因为桩子模块不能模拟数据流使得模块之间的数据流不能组织成有向无环图。
从下至上测试
从下至上测试策略从程序的最低级模块(不调用别的模块)开始。为了模拟高一级的模块需要驱动模块。当对所有的低一级模块测试完毕才对高一级模块进行测试。从下至上测试方法的优点之一是测试数据的建立不存在困难。尽管数据流不在有向无环图中,但驱动模块模拟所有的调用参数,如果关键模块位于调用模块的底部,则从上至下测试方法更优。从下至上测试的主要缺点是系统的早期版本直到最后模块测试完毕才产生,并且设计和测试一个系统不能重叠进行,因为不可在低级模块设计之前进行测试。
测试用例一般描述
2软件复用
软件复用的概念
软件复用是将已有的软件及其有效成分用于构造新的软件或系统。其出发点是应用系统的开发不再采用一切“从零开始”的模式, 而是以已有的工作为基础, 充分利用过去应用系统开发中的经验知识和经验,如需求分析结果、设计方案、源代码、
设计计划及测试案例等, 从而将开发的重点集中于应用的特有构成成分。
软件测试复用
基于复用的软件测试是软件开发过程中的一个重要阶段, 是“为了发现错误而执行程序的过程”。它是根据软件开发各阶段的规格说明和程序的内部结构而精心
设计一批测试用例, 并利用这些测试用例去运行程序, 以发现错误或缺陷。因此,软
件测试的复用主要包括测试过程的复用、测试方法的复用和测试技巧的复用。
(1)测试过程的复用, 就是测试流程的复用,采用既定的测试流程,针对被测项目的需求, 进行裁减, 使测试的流程规范化。
(2)测试方法的复用, 主要指测试计划的设计、测试策略的采用、测试项细则的编写、软件缺陷的分析和测试报告的撰写等方面的复用。
(3)测试技巧的复用, 主要指测试用例的复用。在特定的情形下,选择何种测试用例是发现软件问题的关键因素。如果将大量的测试用例收集到测试用例库中, 经过合理的分类, 供测试人员选择使用, 将极大地提高软件问题的发现率。
复用简单流程图
3软件测试的职业技能和素养
几乎所有的职业都有一定的门槛, 所谓门槛, 就是其特殊的职业技能和基本素养, 一个职业的重要程度不仅取决于社会需求, 也取决于门槛的高低。例如, 飞行员是一个非常重要的职业, 过硬的身体和心理素质以及熟练的飞行驾驶技能要求形成了很高的职业门槛, 使得能够从事这个职业的人员很少, 培养一个成熟的飞行员的成本是非常昂贵的。
软件测试从业人员不仅需要系统地掌握软件测试课程中的知识, 还要在实践中不断摸索, 将理论联系实际, 善于不断尝试新的测试方法和测试工具, 测试新软件, 探索新问题, 积累新经验。软件测试既是一门科学, 也是一门艺术, 测试员丰富的经验和敏锐的洞察力往往是成功的关键。一个测试人员如果掌握的软件测试方法越多, 会
用的测试工具越多, 测试过的软件越多, 碰到过的问题越多, 那么他在新的测试任务
到来的时候, 成功的可能性就越大, 这样他的价值也就越大。
从最广泛的意义上来讲, 测试无处不在, 因为各行各业都会有各自的产品,在他们的产品出厂前, 都需要进行测试, 以保证产品质量合格, 同时我们生活的每个角落,
例如到商场买东西, 要看看产品质量, 跟别人交往, 要测试对方是否友好等,特别是
在社会生活中我们也一直在接受来自学校、单位或其他个人的测试。正因为测试无处
不在, 所以可以说人人都是测试员, 每个人都在利用自己独立的视角或者说独具慧眼
在生活中进行着辨识和选择。软件是一种特殊的产品, 软件测试是一种特殊的测试,
因此有着非常广泛的从业人员基础, 软件测试从业人员可以有广泛的背景, 从对专业
知识一无所知的门外汉到百分之百的领域专家, 当然更多的测试员是介于两者之间。
但在这个行业中要成为一个成熟的软件测试专业人员, 还是非常困难的, 需要厚实的
专业基础、不断的学习、实
践和积累。
软件测试的专业基础涉及数学、计算机科学、软件工程、计算机工程以及信息技
术等非常广泛的领域, 而不是仅仅学好软件测试这门课程就可以了, 而且如果没有这
些专业基础,软件测试课程也是学不好的, 关于这一点, 从软件测试课程中广泛的知
识体也可以看出。一般来讲, 都是计算机或相关专业的毕业生毕业后根据兴趣和需要, 经过一定的培训或学习后, 开始从事软件测试职业。人们总是喜欢根据从业人员的能
力和成熟度将一个职业分成几个等级, 在软件测试领域我们也可以将从业人员分成5
等级(也可以更多, 这里只给出5个等级作为参考):1级称之为用户级测试人员, 这是
软件测试人员的最低级别, 没有受过软件测试的专门训练, 直接从用户角度通过使用
软件来发现问题;2级是软件测试操作员, 受过软件测试的专门训练,不仅可以从用户
角度进行用户级测试, 还可以完成上级下达的具体的测试任务;3级是软件测试技术员, 能够非常熟悉地驾御某些软件测试专门技术, 设计一些高级的测试用例, 进行高
效的软件测试,可以将一些测试任务下达给2级测试操作员, 并具有很多软件测试成功
的经验;4级是软件测试系统工程师, 系统掌握所有的软件测试方法, 具有计算机等
相关专业知识, 并曾是成熟的软件开发人员, 具有充分的软件测试经历;5级是软件
测试总工程师, 既是软件测试系统工程师, 具有丰富的软件测试经验, 又能做项目经理, 负责管理整个软件测试项目。