======================软件测试知识点复习========================
请认真思考以下问题:
- 什么是软件………………………………………………………………………………… 2
- 什么是软件缺陷………………………………………………………………………….. 2
- 测试的目的是什么……………………………………………………………………….. 2
- 你知道的软件测试的原则有哪些…………………………………………………….. 2
- 软件测试的对象都有哪些……………………………………………………………… 3
- 你所知道的测试模型有哪些…………………………………………………………… 3
- 你所了解的测试充分性准则有哪些…………………………………………………. 6
- 测试生命周期…………………………………………………………………………………. 7
- 什么是黑盒测试………………………………………………………………………….. 8
- 黑盒测试方法包括哪些…………………………………………………………………. 8
- 什么是白盒测试………………………………………………………………………… 10
- 什么是灰盒测试………………………………………………………………………… 10
- 静态测试和动态测试 ……………………………………………………………………… 10
- 单元测试……………………………………………………………………………………… 10
- 集成测试……………………………………………………………………………………….11
- 系统测试……………………………………………………………………………………….11
- 验收测试……………………………………………………………………………………….11
- α测试和β测试 ……………………………………………………………………………..11
- 回归测试……………………………………………………………………………………….11
- 功能测试包括哪些……………………………………………………………………… 12
- 性能测试分为哪几种………………………………………………………………….. 12
- 软件缺陷的严重性和优先级…………………………………………………………….. 12
- 23. bug 的生命周期 …………………………………………………………………………….. 13
- 24. bug 的处理流程 …………………………………………………………………………….. 13
- Web 测试 …………………………………………………………………………………….. 14
- SQA 与测试 …………………………………………………………………………………. 14
- 准确与精确 ………………………………………………………………………………….. 14
- C/S 结构与 B/S 结构的特点分析 ………………………………………………………. 15
- 驱动模块与桩模块…………………………………………………………………………. 16
===========================参考答案==================================
什么是软件/strong>
软件的定义:软件是能国完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要的数据,加 上描述程序的操作和使用的文档。
软件 = 程序 + 文档
程序定义:程序是为了解决某个特定问题而用程序设计语言描述的适合计算机处理的语句序列。
程序=算法+数据结构
文档的定义:文档是软件开发活动的记录,主要供人们阅读,既可用于专业人员和用户之间的通信和交流,也可以用于软件开发过程的管理和运行阶段的维护。
(需求分析文档、业务理解文档、概要设计、详细设计包括数据库设计) 用户操作手册
什么是软件缺陷/h2>
缺陷的定义:软件缺陷这一概念用来描述各种软件错误,是所有软件错误的统称。
把符合下列 5 种特征之一的软件错误认为是软件缺陷:
l 软件未达到软件产品需求说明书中指明的需求;
l 软件出现了软件产品需求说明书中指明不会出现的错误;
l 软件功能超出了软件产品需求说明书中指明的范围;
l 软件未达到软件产品需求说明书中虽未指明但应达到的要求;
l 测试人员认为难以理解、不易使用、运行速度缓慢或者最终用户认为不好的问题。
测试的目的是什么/h2>
想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。
测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。
实施测试收集到的测试结果数据为可靠性分析提供了依据。
测试不能表明软件中不存在错误,它只能说明软件中存在错误。
你知道的软件测试的原则有哪些/h2>
l 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。
l 测试用例应由测试输入数据和对应的预期输出结果这两部分组成。
l 程序员应避免只检查自己的程序。
l 在设计测试用例时,应包括合理的输入条件和不合理的输入条件。
l 充分注意测试中的群集现象。经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。
l 严格执行测试计划,排除测试的随意性。
l 应当对每一个测试结果做全面检查。
l 妥善保存测试计划,测试用例,出错统计和最终分析 告,为维护提供方便。
软件测试的对象都有哪些/h2>
软件测试并不等于程序测试。软件测试应贯穿于软件定义与开发的整个期间。
需求分析、概要分析、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计说明以及源程序, 都应成为软件测试的对象。
你所知道的测试模型有哪些/h2>
V 模型 、 W 模型 、 H 模型 、X 模型 、前置模型
l V 模型
在软件测试方面,V 模型是最广为人知的模型,尽管很多富有实际经验的测试人员还是不太熟悉 V 模型,或者其它的模型。V 模型已存在了很长时间,和瀑布开发模型有着一些共同的特性,由此也和瀑布模型一样地受到了批评和质疑。V 模型中的过程从左到右,描述了基本的开发过程和测试行为。V 模型的价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。
相对于 V 模型,W 模型增加了软件各开发阶段中应同步进行的验证和确认活动。W 模型由两个 V 字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。 W 模型强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。
W 模型有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。 但 W 模型也存在局限性。在 W 模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型。
对于当前软件开发复杂多变的情况,W 模型并不能解除测试管理面临着困惑。
l H 模型
H模型中, 软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段。软件测试可以尽早的进行,并且可以根据被测物的不同而分层次进行。
X 模型的左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终成为可执行的程序,然后再对这些可执行程序进行测试。己通过集成测试的成品可以进行封装并提交给用户,也可以作为更大规模和范围内集成的一部分。多根并行的曲线表示变更可以在各个部分发生。由图中可见, X 模型还定位了探索性测试,这是不进行事先计划的特殊类型的测试,这一方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误。但这样可能对测试造成人力、物力和财力的浪费,对测试员的熟练程度要求比较高。
l 前置模型前置测试模型则体现了开发与测试的结合,要求对每一个交付内容进行测试。前置测试模型是一个将测试和开发紧密结合的模型,此模型将开发和测试的生命周期整合在一起,随项目开发生命周期从开始到结束每个关键行为。
Web 测试
web 测试分为 6 个部分:
l 功能测试 链接测试、表单测试、数据校验、cookies 测试、数据库测试、应用程序特定的功能需求、设计语言测试
l 性能测试(包括负载/压力测试)
连接速度测试、负载测试、压力测试
l 用户界面测试
导航测试、图形测试、内容测试、表格测试、整体界面测试
l 兼容性测试
平台测试、浏览器测试、分辨率测试、Modem/连接速率、打印机、组合测试
l 安全测试
目录设置、SSL、登录、日志文件、脚本语言
l 接口测试
服务器接口、外部接口、错误处理
SQA 与测试
一般规范的软件测试流程包括项目计划检查、测试计划创建、测试设计、执行测试、更新测试文档,而 SQA 的活动可总结为:协调度量、风险管理、文档检查、促进/协助流程改进、监察测试工作。它们的相同点在于二者都是贯穿整个软件开发生命周期的流程。
软件质量保证(SQA)的职能是向管理层提供正确的可视化的信息,从而促进与协助流程改进。SQA 还充当测试工作的指导者和监督者,帮助软件测试建立质量标准、测试过程评审方法和测试流程,同时通过跟踪、审计和评审,及时发现软件测试过程中的问题,从而帮助改进测试或整个开发的流程等,因此有了 SQA,测试工作就可以被客观的检查与评价,同时也可以协助测试流程的改进。
而测试为 SQA 提供数据和依据,帮助 SQA 更好地了解质量计划的执行情况、过程质量、产品质量和过程改进进展,从而使 SQA 更好地做好下一步工作。
它们的不同之处在于 SQA 侧重对流程中过程的管理与控制,是一项管理工作,侧重于流程和方法。而测试是对流程中各过程管理与控制策略的具体执行实施,其对象是软件产品(包括阶段性的产品),即测试是对软件产品的检验,是一项技术性的工作。测试,常常被认为是质量控制的最主要手段。但是,随着时间的推移,软件质量保证和软件质量控制之间的界限越来越模糊了,两者合二为一。也就是说,软件测试是 SQA 中的重要手段,SQA 的主要功能在软件测试中得到体现,集中在静态测试中,两者的关系越来越紧密,已无法分开。
准确与精确
准确是指你得到的测定结果与真实值之间的接近程度。
精确是指使用同种备用样品进行重复测定所得到的结果之间的重现性。
C/S 结构与 B/S 结构的特点分析
l 系统的性能
在系统的性能方面,B/S 占有优势的是其异地浏览和信息采集的灵活性。任何时间、任何地点、任何系统,只要可以使用浏览器上 ,就可以使用 B/S 系统的终端。
l 系统的开发
C/S 结构是建立在中间件产品基础之上的,要求应用开发者自己去处理事务管理、消息队列、数据的复制和同步、通信安全等系统级的问题。这对应用开发者提出了较高的要求,而且迫使应用开发者投入很多精力来解决应用程序以外的问题。这使得应用程序的维护、移植和互操作变得复杂。如果客户端是在不同的操作系统上,C/S 结构的软件需要开发不同版本的客户端软件。但是,与 B/S 结构相比,C/S 技术发展历史更为“悠久”。从技术成熟度及软件设计、开发人员的掌握水平来看,C/S 技术应是更成熟、更可靠的。
l 系统的升级维护
C/S 系统的各部分模块中有一部分改变,就要关联到其它模块的变动,使系统升级成本比较大。B/S 与 C/S 处理模式相比,则大大简化了客户端,只要客户端机器能上 就可以。对于 B/S 而言,开发、维护等几乎所有工作也都集中在服务器端,当企业对 络应用进行升级时,只需更新服务器端的软件就可以,这减轻了异地用户系统维护与升级的成本。如果客户端的软件系统升级比较频繁,那么 B/S 架构的产品优势明显——所有的升级操作只需要针对服务器进行,这对那些点多面广的应用是很有价值的,例如一些招聘 站就需要采用 B/S 模式,客户端分散,且应用简单,只需要进行简单的浏览和少量信息的录入。
l C/S 模式的优点和缺点
C/S 模式的优点
○1 由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。
○2 操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。
○3 C/S 结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。
C/S 模式的缺点
○1 需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备 络条件的用户群体,不能够实现快速部署安装和配置。
○2 兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。
○3 开发成本较高,需要具有一定专业水准的技术人员才能完成。
l B/S 模式的优点和缺点
B/S 模式的优点
○1 具有分布性特点,可以随时随地进行查询、浏览等业务处理。
○2 业务扩展简单方便,通过增加 页即可增加服务器功能。
○3 维护简单方便,只需要改变 页,即可实现所有用户的同步更新。
○4 开发简单,共享性强。
B/S 模式的缺点
○1 个性化特点明显降低,无法实现具有个性化的功能要求。
○2 操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。
○3 页面动态刷新,响应速度明显降低。
○4 无法实现分页显示,给数据库访问造成较大的压力。
○5 功能弱化,难以实现传统模式下的特殊功能要求。
驱动模块与桩模块
l 驱动模块
模拟被测模块的上级模块,驱动模块用来接收测试数据,启动被测模块并输出结果。
l 桩模块
模拟被测模块所用的模块。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!