软件测试及质量知识点整理

上传人:第*** 文档编号:62025529 上传时间:2018-12-16 格式:PDF 页数:16 大小:858KB
返回 下载 相关 举报
软件测试及质量知识点整理_第1页
第1页 / 共16页
软件测试及质量知识点整理_第2页
第2页 / 共16页
软件测试及质量知识点整理_第3页
第3页 / 共16页
软件测试及质量知识点整理_第4页
第4页 / 共16页
软件测试及质量知识点整理_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《软件测试及质量知识点整理》由会员分享,可在线阅读,更多相关《软件测试及质量知识点整理(16页珍藏版)》请在金锄头文库上搜索。

1、软件测试与质量知识点整理 1. 软件测试概述 1.软件测试基本思想 1.软件生存周期: 软件生命周期一般包括以下阶段:软件计划与可行性研究(问题定义、可行性 研究)、需求分析、软件设计(概要设计与详细设计)、编码、软件测试、运 行与维护 2.软件测试的技术与过程 软件测试的过程包括以下阶段:测试设计、测试自动化、测试执行、测试评估 测试设计: 1.Criterial Based:设计测试数值去满足覆盖规则或者其他工程性目标 软件测试中最具技巧性的工作 需要的知识:离散数学、编程、测试 往往需要软件工程知识背景 2.Human Bases:基于程序的领域知识和测试的人工知识设计测试数据 基于规则

2、的(Criteria-based)方法会忽略特殊情况, 需要的知识:域知识、测试技能和用户接口 几乎不需要传统的软件工程知识背景 测试自动化:将测试数据写入可运行脚本 需要很少的理论知识基础,对技术的要求不高,需要较低层次的编程技术即可 测试执行:在软件上运行测试并且记录结果 如果测试自动化程度比较高,这将是一个简单而又繁琐的工作。 需要基本的计算机技能:实习生、没有软件工程知识背景的人员 图形用户界面并不是很容易实现自动化,这需要许多人工劳作 测试执行者必须非常谨慎小心地对运行结果进行记录 测试评估:评估测试的结果,这比它看上去要难得多 需要的知识:领域知识、测试知识、用户接口和心理学 通常

3、情况下几乎不需要软件工程(SE)学历:软件的领域( domain )背景很 重要;有相关的经验背景是很有用的(生理学、心理学);具有逻辑很好的 逻辑思维对胜任这项工作很有帮助(法律、哲学、数学) 其他活动: 1.测试管理:制定策略,组织团队,开发之间的接口,选择测试规则,决定 所需要的自动化程度 2.测试维护:保存测试用例以供软件衍化时的复用,需要测试设计人员和自 动化人员的合作,决定何时整理测试套件既需要策略又需要技巧,测试必 须纳入配置管理 3.测试文档:需要各方参与,每个测试都需记录“为什么要这么做”-规则和 满足测试需求或者人工设计的测试基本原理,保证整个过程可追溯,在自 动化的测试中

4、做记录 模型驱动式软件测试: ? 3.持续的软件测试 不同级别的测试: 1.单元测试: 单独测试每一个单元(方法) 2.模块测试: 测试每一个类、文件、模块或组件 3.集成测试: 测试各个模块如何交互 4.系统测试: 测试系统的总体功能性 5.验收测试: 这个软件是否能够被用户所接受 测试活动: 1.软件需求:定义测试目标(规则)、定义计划 2.系统设计:设计系统测试、设计验收测试、设计可用性测试(如果合适的 话) 3.中层设计:将系统测试具体化、制定集成测试和单元测试的计划、获取测 试的支持工具、确定类集成的顺序 4.详细设计:构建测试或者将测试具体化 5.实现:创建测试用例、当单元构成完成

5、后运行测试 6.集成:运行集成测试 7.系统部署:运行系统测试、验收测试、可用性测试 8.使用和维护:收集用户的问题、进行回归测试 2.软件测试中的若干问题 1.重要的术语辨析: 1. Valida6on & Verifi ca6on: Validaon(确认) : 在软件开发末期评估软件以确保与先前需求相符合的 过程 Verifi caon(验证) : 判断软件某一开发阶段的产品是否满足了在前面阶 段建立的需求 2.测试 & 质量保障(QA): 测试的目的是寻找bug, 尽早地发现他们确保他们已经被修正。 质量保障( QA )的目的是创建一个强制执行的标准和方法去提高开发过 程以便了防止Bu

6、g的出现。 3.静态测试&动态测试: 静态测试 : 不实际运行程序的测试,这包括代码审查和一些形式的分析, 在发现某些特定类型的问题上很有效-特别是“潜在”的缺陷,即在程序被 改动时会引发的问题 动态测试: 用实际输入执行程序的测试 4.Faults, Errors & Failures: SoIware Fault : 软件代码中的一个静态缺陷 SoIware Failure : 相对于需求或者其他队软件行为的描述而言,外部的不 正确的行为 SoIware Error : 由缺陷导致的内部的不正确的状态 5.测试 & 调试: 测试 : 寻找使得软件出错的输入 调试 : 根据failure寻找

7、缺陷(fault)的过程 6.Fault & Failure 模型,缺陷被发现的3个必要条件: 可达性(reachability) : 包含缺陷的代码地址必须在软件运行时刻到达 可感染(Infecon) : 必须出现程序的错误状态 可波及(Propagaon): 被感染的状态必须可以导致一些输出的错误 7.测试用例: 测试用例的数值: 直接满足测试需求的数据 可预测的结果 : 当软件满足预计的行为时,执行程序所产生的输出 8.可观察性&可控制性: 软件可观察性(SoIware Observability) : 以其输出、对环境以及其他硬件 软件部分的作用作为考量观察程序的容易程度。对设备,数据

8、库或者远 程文件有影响的软件具有较低的可观察性 软件可控制性(SoIware Controllability) : 以数值、操作和行为为考量, 为程序提供输入的容易程度。通过键盘很容易对软件进行控制;通过硬 件传感器或者远程的分布式软件输入会难一点;数据抽象会降低可观察 性和可控制性 9.对可控制性和可观察新具有影响的输入: Prefi x Values : 将软件切换至接受测试用例数据的正确状态的任何必要的输 入。有两类posUix values,确认值(Verifi caon Values) : 查看测试用例结 果的必要输入之;退出命令(Exit Commands) : 终止程序或者将其返

9、回 到稳定状态时所需要输入的数据 PosUix Values : 在测试用例数据之后必须被传到程序之中的数据 可运行测试脚本(Executable Test Script) :一个以在被测试软件上自动执 行并且输出结果的形式编写的测试用例 10. 黑盒测试&白盒测试: 黑盒测试:通过外部描述(包括规格说明、需求、设计)而产生的测试 白盒测试:通过软件的内部源代码(具体包括分支、独立条件和语句) 而产生的测试 基于模型的测试:从元件模型产生的测试(例如,UML图) 11. 自顶向下测试&自底向上测试: 自顶向下(Top-Down Tesng) : 测试主干(main procedure), 然后

10、向下贯 穿其所调用的过程,以此类推 自底向上(Boom-Up Tesng) : 先测试调用树的叶节点(没有调用其它 过程的部分),然后逐渐向上直至根节点。每个过程不会被测试除非它 的所有子节点都被测试过。 2.测试的级别: Level 0 : 测试与调试没有什么区别; Level 1 : 测试的目的是为了展示正确性 Level 2 : 测试的目的是为了使软件崩溃 Level 3 : 测试的目的不是为了验证任何具体的细节而是降低使用软件的风险 Level 4 : 测试是一个心理的规约用来帮助IT专家开发更高质量的软件 3.如何优化测试: 1.测试人员需要更多更好的软件工具 2.测试人员需要采用更

11、高效率更具影响的测试实践和技巧 3.测试/质量保障小组需要更多的技巧专业知识 4.测试/质量保障小组需要更加特化 4.四个主要的障碍: 1.缺乏测试的相关知识培训 2.改变程序代码的必要性 3.工具的使用Usability of tools 4.功能较弱、效率较低的工具 5.软件测试的前景: 1.逐渐增长的测试特化趋势会导致更加高效和更具影响的测试 2.测试和质量保障小组会有更多的技巧专门技能 3.开发人员会更加了解测试,并且有把测试做得更好的动力 4.灵巧的过程使得测试被放在了第一位-要求开发人员和测试人员去做出更 好的测试 5.测试和安全会开始合并 6.我们会开发出用来测试基于软件的系统中

12、关系的方法 2、 边界值测试 1.边界值测试 1.人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界 上,而不是在输入范围的内部。 2.针对各种边界情况设计测试用例,可以查出更多的错误。 3.使用边界值分析方法设计测试用例,首先应确定边界情况。 4.通常输入等价类与输出等价类的边界,就是应着重测试的边界情况。 5.应当选取正好等于,刚刚大于,或刚刚小于边界的值做为测试数据,而不是选 取等价类中的典型值或任意值做为测试数据。 2.健壮性测试: 1.健壮性测试,又称为容错性测试,用于测试系统在出现故障时,是否能够自动 恢复或者忽略故障继续运行。 2.为了使系统具有良好的健壮性,要

13、求设计人员在做系统设计时必须周密细致, 尤其要注意妥善地进行系统异常的处理。 3.考虑到了软件使用过程中的非法输入值 ? 3.最坏情况测试 ? ? 4.特殊值测试 在测试中考虑到特殊的输入值和特殊情况 5.随机测试 1.随机测试是根据测试说明书执行样例测试的重要补充手段,是保证测试覆盖完 整性的有效方式和过程。随机测试主要是对被测软件的一些重要功能进行复 测,也包括测试那些当前的测试样例没有覆盖到的部分。 2.对于软件更新和新增加的功能要重点测试。重点对一些特殊点情况点、特殊的 使用环境、并发性、进行检查。尤其对以前测试发现的重大Bug,进行再次测 试,可以结合回归测试一起进行。 3.理论上,

14、每一个被测软件版本都需要执行随机测试,尤其对于最后的将要发布 的版本更要重视随机测试。 4.随机测试最好由具有丰富测试经验的熟悉被测软件的测试人员进行测试。对于 被测试的软件越熟悉,执行随机测试越容易。 6.边界值测试方针 1.如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超 越这个范围边界的值作为测试输入数据。 2.如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大 个数多一的数作为测试数据。 3.应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。 4.如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个 元素和最后

15、一个元素作为测试用例。 5.如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的 值作为测试用例。 3. 等价类测试 1.等价类 1.弱一般等价类测试:假设只有一个缺陷或者输入变量相互独立 ? 2.强一般等价类测试:与弱一般等价类相似,但是它关注多种缺陷因素和变量之 间的依赖,各种变量的每个等价类组合都需要被包括 3.弱健壮等价类测试:与弱一般等价类测试相似,但是考虑了输入的非法值 ? 4.强健壮等价类测试:与强一般等价类测试类似,但是考虑了输入的非法值 ? 2.一般基于等价类的测试方法 1.按照规格说明中的“输入条件”(或者输出条件)划分等价类 确定等价类的原则:有效等价类、无效等价类 2.设计一个新的测试用例,使其尽可能多的覆盖尚未覆盖的有效等价类;重复这 一步骤,直到所有的有效等价类都被覆盖为止 3.设计一个新的测试用例,使其仅覆盖一个无效等价类;重复这一步骤,直到所 有的无效等价类都被覆盖为止 3.等价类划分方法 1.如果输入条件规定了取值范围,可定义一个有效等价类和两个无效等价类。 2

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

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