信息系统测试的设计、组织和实施课件.ppt
《信息系统测试的设计、组织和实施课件.ppt》由会员分享,可在线阅读,更多相关《信息系统测试的设计、组织和实施课件.ppt(158页珍藏版)》请在三一办公上搜索。
1、信息系统测试的设计、组织和实施,5.1测试的计划5.2测试的设计5.3测试的执行5.4测试的总结,软件测试实施过程,测试计划,测试设计,测试执行,测试总结,5.1测试的计划,5.1.1测试类型的选择有各种各样不同的测试类型,在测试计划阶段,要根据系统的功能和特性、经费和时间等诸多方面因素,选择不同的测试方案,进而选择不同的测试类型。,22种测试类型,(1)黑盒测试:不基于程序内部设计和代码的任何知识,而是基于系统需求和功能。(2)白盒测试:基于一个应用代码的内部逻辑结构,测试是基于覆盖全部代码、分支、路径、条件。,22种测试类型,(3)单元测试:测试功能模块。典型的单元测试是由程序员而非测试员
2、来做,因为它需要知道内部程序设计和编码的细节知识。这个工作不容易作好,除非应用系统有一个设计很好的体系结构,还可能需要开发测试驱动器模块。,22种测试类型,(4)增量测试:当一个新功能增加后,对应用系统所做的连续测试。它要求应用系统的不同形态的功能部件能够足够独立,以便可以在全部系统完成之前各部件能够分别工作。这种测试可由程序员或测试员来做。,22种测试类型,(5)集成测试:一个应用系统的各个部件的联合测试,以决定他们能否在一起共同工作。部件可以是代码块、独立的应用、网络上的客户端或服务器端程序。这种类型的测试尤其与客户/服务器和分布式系统有关。,22种测试类型,(6)功能测试:用于测试应用系
3、统的功能需求的黑盒测试方法。这类测试应由测试员做,这并不意味着程序员在发布前不必检查他们的代码能否工作,所以功能测试能用于测试的各个阶段。,22种测试类型,(7)系统测试:基于系统整体需求说明书的测试;应覆盖系统所有联合的部件。,22种测试类型,(8)端到端测试:类似于系统测试;涉及整个应用系统环境在一个现实世界使用时的模拟情形的所有测试。例如与数据库对话、与网络通讯,或与外部硬件、应用系统或适当的系统对话。,22种测试类型,(9)健全测试:典型地是指一个初始化的测试工作,以决定一个新的软件版本测试是否足以执行下一步大的测试努力。例如,如果一个新版软件每5分钟经常与系统发生冲突,使系统陷于瘫痪
4、,说明该软件不够“健全”,说明该软件现在还不具备进一步测试的条件。,22种测试类型,(10)回归测试:软件或环境的修复或更正后的“再测试”。可能很难确定需要多少遍再次测试。尤其在接近开发周期结束时更需要衰竭测试。因为自动测试工具一般都具有录制和回放功能,并且可以利用脚本语言编写测试程序,所以自动测试工具对这类测试尤其有用。,22种测试类型,(11)接受测试:基于客户或最终用户的规格说明书的最终测试,或基于用户一段时间的使用后,看软件是否满足客户要求。,22种测试类型,(12)负载测试:测试一个应用在重负载下的表现,例如测试一个Web 站点在大量的负载下,系统的响应何时会退化或失败。,22种测试
5、类型,(13)压力测试:在交替进行负载和性能测试时常用的术语。也用于描述在异乎寻常的重载下的系统功能测试之类的测试,如某个动作或输入大量的重复,大量数据的输入,对一个数据库系统大量的复杂查询等。,22种测试类型,(14)性能测试:在交替进行负在和压力测试时常用的术语。理想的“性能测试”(或其他类型的测试)应在需求文档、质量保证文档或测试计划中定义。,22种测试类型,(15)可用性测试:对“用户友好性”的测试。显然这是主观的,测试标准将取决于目标最终用户或客户。用户面谈、调查、用户对话的录像和其他一些技术都可使用。程序员和测试员通常都不宜作可用性测试员。,22种测试类型,(16)安装/卸载测试:
6、对软件的全部、部分或升级版本进行安装/卸载处理过程的测试。,22种测试类型,(17)恢复测试:测试一个系统从灾难中能否很好地恢复,如遇到系统崩溃、硬件损坏或其他灾难性问题。,22种测试类型,(18)安全测试:测试系统在防止非授权的内部或外部用户的访问或故意破坏等情况时如何保证系统正常工作。这可能需要复杂的测试技术。,22种测试类型,(19)兼容测试:测试该软件在一组不同类型的硬件/软件/操作系统/网络等环境下的性能。,22种测试类型,(20)比较测试:与竞争伙伴的产品的比较测试,如软件的优点、缺点或实力。,22种测试类型,(21)Alpha测试:在系统开发接近完成时对应用系统的测试;测试后,仍
7、然会有少量的设计变更。这种测试一般由最终用户或其他人员完成,不能由程序员或测试员完成。,22种测试类型,(22)Beta测试:当开发和测试小组已经基本完成所要求的测试后,需要通过Beta测试在软件最终发行前去发现一些错误和问题。这种测试一般由最终用户或其他人员完成,不能由程序员或测试员完成。,5.1.2测试策略的制定,测试策略描述测试小组用于测试整体和每个阶段的方法。测试策略的制定是一项复杂的工作,需要由经验丰富的测试员来做,因为这将决定测试工作的成败。,问题的提出,是使用黑盒测试方法,还是使用白盒测试方法?如果决定综合使用这两种方法,那么在软件的哪些部分,什么时候分别运用它们呢?,问题的提出
8、,是使用手工测试?还是需要用测试工具和自动化测试?如果要使用工具,那么是否需要开发,或者购买已有的商用测试工具?如果购买商用测试工具,选购哪一种工具?,问题的提出,是开发单位自己测试?还是请专业的测试公司测试?如果请专业的测试公司测试,只要派出相应的质量保证人员监督他们的工作即可。,制定测试策略的目的,测试策略描述测试过程的总体方法和目标,描述目前在进行哪一阶段的测试(单元测试、集成测试、系统测试)以及每个阶段内在进行的测试种类(功能测试、性能测试、覆盖测试等)。,(1)一般的测试策略,测试开始于单元级,然后“延伸”到整个系统中。不同的测试技术适用于不同的时间点。测试是由软件的开发人员和独立测
9、试组织来管理的。,(2)黑盒测试的测试策略,1用边界值分析法和(或)等价类划分法提出基本的测试用例;2用错误猜测法补充新的测试用例;3如果在程序的功能说明中含有输入条件的组合,则在测试一开始时就使用因果图法,然后再按以上1、2两种步骤进行。,(3)单元测试的测试策略,1首先用黑盒测试方法,设计一组基本测试用例进行测试。如果发现未能满足覆盖标准,就用白盒测试法补充新的测试用例2首先用白盒测试法分析模块的逻辑结构,设计一批测试用例进行测试。如果发现未能满足覆盖标准,根据模块的功能用黑盒测试法进行补充。,5.1.3成立测试组织,为了尽可能多地找出程序中的错误,生产出高质量的软件产品,加强对测试工作的
10、组织和管理就显得尤为重要。,对软件测试管理的要求,l测试必须是有计划的。l测试必须是有组织的。l测试必须是有准备的。l测试必须是可管理的。l测试必须是可记录的。l测试必须是可追踪的。,软件项目的组织和任务,如何有效地管理和实施一个软件项目?在早期软件开发中,没有专门的软件测试部门和测试人员。软件测试工作通常是由开发人员自己来完成的。随着软件开发规模的不断增大,软件开发和软件测试逐步分离为两个独立的部门。为了管理软件项目,还必须有一个软件项目管理部门。,软件项目开发过程,定义:一个软件项目的开发过程,实际上就是一个在软件项目管理部门的控制之下、在一定的时间和财政预算范围内、由软件开发部门和软件测
11、试部门协同工作完成的从项目立项直到软件产品发布的全过程。,1.测试组织结构,(1)管理部门(2)开发部门(3)测试部门,测试组织各部门的职责,管理部门:负责整个软件项目的计划、实施、进度调整,以及产品的发布等工作。开发部门:专职于程序编码、系统集成和软件问题修复等开发工作。测试部门:专职于测试准备、测试实施、编写软件问题报告等测试工作。,(1)管理部门的组成和任务,管理部门的组成:软件项目经理软件开发部经理软件测试部经理若干关键技术人员,(1)管理部门的组成和任务,软件项目管理部门的任务:(1)制定或修改软件开发计划和测试计划。(2)对整个软件项目的进度进行评估。(3)对一些重大问题进行决策,
12、确保软件开发项目按计划保质量地完成。(4)决定每周要完成的开发和测试任务。(5)协调和解决各个部门之间发生的问题。(6)决定提前或推后发布软件。,(2)开发部门的组成和任务,开发部门的组成:软件开发部经理若干软件开发工程师,(2)开发部门的组成和任务,开发部门的任务:(1)按照软件开发计划及开发时间进度表,编写和集成程序代码。(2)对测试部门发现的软件问题进行分析,确定修改的优先级。(3)修复软件问题并进行软件系统集成,生产新的测试版本,在提交给测试部门之前进行基线检查。(4)将新的软件测试版本提交给测试部门进行验证。,(3)测试部门的组成和任务,测试部门的组成:软件测试部门经理若干质量保证人
13、员若干软件测试工程师,(3)测试部门的组成和任务,测试部门的任务:(1)在软件测试工作开始之前,编写测试计划和测试用例。(2)按照软件测试计划、测试用例及时间进度表,进行软件测试。(3)对发现的软件问题编写软件问题报告,并及时提交给软件开发部门。(4)在开发部门提供的新测试版本上,对修复的软件问题进行验证。(5)在新测试版本上,开始新一轮测试或继续前一阶段测试,并报告软件问题。,2.测试部门和开发部门的关系,基本原则:避免一个组织测试自已编写的程序,原因是开发组织很难客观地测试自己的程序。成立独立的软件测试机构进行软件测试。测试组织与开发组织之间的关系越远越好。优点:发现错误效率高,测试组织与
14、开发组织之间有正常的竞争。,测试组织与开发组织的耦合程度,l 测试组织与开发组织属于不同公司、不同城市、甚至不同国家;l 测试组织与开发组织属于同一公司不同部门;l 测试组织与开发组织属于同一公司同一部门,但不在同一小组;l 测试组织与开发组织属于同一公司同一部门同一小组内,但测试人员与开发人员为不同人员;l 测试组织与开发组织为同一公司同一部门同一小组,并且测试人员与开发人员为同一组人员。,3.测试人员的素质,(1)沟通能力(2)技术能力(3)自信心(4)外交能力(5)幽默感(6)很强的记忆力(7)怀疑精神(8)自我督促(9)洞察力,5.1.4 建立测试配置,1测试配置的内容人员:人数、经验
15、和专长,全职、兼职或学生。设备:计算机,打印机等。测试环境:硬件、软件环境。测试工具:黑盒或白盒测试工具。办公室或实验室:地点,大小等。专业测试公司:是否需要,费用如何。其他需求:移动存储器,电话,通讯等。,5.1.4 建立测试配置,2测试环境配置主测试环境配置辅测试环境配置,主测试环境配置,(1)符合软件运行的最低要求。测试环境首先要保证能支撑软件正常运行。(2)选用比较普及的操作系统和软件平台。例如,一个软件若声称支持“Windows 9X/ME/NT/2000 professional”和“MS Office 97/2000/XP”,一般我们会采用如“Windows 2000 profe
16、ssional+MS Office 2000”的流行环境。(3)营造相对简单、独立的测试环境。除了操作系统,测试机上只安装软件运行和测试必需的软件,以免不相关的软件影响测试实施。(4)无毒的环境。利用有效的正版杀毒软件检测软件环境,保证测试环境中没有病毒。,辅助测试环境配置,(1)兼容性测试:在满足软件运行要求的范围内,可选择一些典型的操作系统和常用应用软件对其安装卸载和主要功能进行验证。(2)模拟真实环境测试:有些软件,特别是面向大众的商品化软件,在测试时常常需要考察在真实环境中的表现。如测试杀毒软件的扫描速度时,硬盘上布置的不同类型文件的比例要尽量接近真实环境,这样测试出来的数据才有实际意
17、义。(3)横向对比测试:利用辅测试环境“克隆”出完全一致的测试环境,从而保证各个被测软件平等对比。,5.1.5 制定测试计划,测试计划是对测试工作的总体描述。,1测试计划的重要性,有条不紊地仔细制定测试计划,是达成测试目标的必由之路。一个良好的、完善的测试计划是进行成功测试的基础。必须要制定一个能够起到总体框架作用的测试计划。测试的计划应该作为测试的起始步骤和重要环节。,制定测试计划的重要性和必要性,组织性:即使在小型软件测试项目上,也可能有数千个测试用例。建立测试用例可能需要一些测试员经过几个月甚至几年的时间。正确的计划会组织好测试用例,以便全体测试员和其他项目小组成员有效地审查和使用。,制
18、定测试计划的重要性和必要性,重复性:在项目开发期间内有必要多次执行同样的测试,以寻找新的系统缺陷,保证老的缺陷得以修复。假如没有正确的测试计划,就不可能知道最后执行哪些测试用例及其执行情况,以便重复原有的测试。,制定测试计划的重要性和必要性,测试跟踪:在整个项目开发期间,计划执行多少个测试用例?在系统最终版本上执行多少个测试用例?多少个通过,多少个失败?有无忽略的测试用例?等等。如果没有测试计划,就不能回答这些问题。,制定测试计划的重要性和必要性,测试验证:在少数高风险行业中,测试小组必须证明确实执行了计划执行的测试。发布忽略某些测试用例的系统实际上是不合法和危险的。正确的测试计划和测试跟踪提
19、供了一种验证手段。,2测试计划的内容,包括:产品调研;测试需求说明;测试策略;测试记录;测试资源配置;计划时间表;软件问题报告跟踪;计划评审。,(1)产品调研,这部分应包括产品的一些基本情况介绍。目的变更信息软件结构及技术软件产品规格测试范围项目信息,目的:,重点描述如何使测试建立在客观的基础上,定义测试的策略,测试的配置,粗略的估计测试大致需要的周期和最终测试报告递交的时间。,变更信息:,说明有可能会导致测试计划变更的事件。包括测试工具改进了,测试的环境改变了,或者是添加了新的功能。,软件结构及技术:,将被测软件划分成几个组成部分,规划成一个适用于测试的完整的系统,包括数据是如何存储的,如何
20、传递的(数据流图),每一个部分的测试是要达到什么样的目的。每一个部分是怎么实现数据更新的。还有一些常规性的技术要求,比如运行平台、需要什么样的数据库等等。,软件产品规格:,就是制造商和产品版本号的说明,还可以包括关于被测系统的重要说明,如版权,日期等。,测试范围:,简单的描述如何搭建测试平台以及测试的潜在的风险等。,项目信息:,说明要测试的项目的相关资料,如:用户文档、产品描述、主要功能的举例说明。,(2)测试需求说明,列出所有要测试的功能项(测试项)。凡是没有出现在这个清单里的功能项都排除在测试的范围之外。功能的测试设计的测试 整体考虑,功能的测试:,从理论上讲,测试要覆盖所有的功能项,划分
21、功能项将会是一个浩大的工程,但是有利于测试的完整性。例如:在数据库中添加、编辑、删除记录等。,设计的测试:,对于一些用户界面、菜单的结构还有窗体的设计是否合理等的测试。这里的合理性包括美观性、可用性、易用性等方面。系统的外观是很重要的,它要求有尽可能好的合理性。,整体考虑:,这部分测试需求要考虑到数据流从软件中的一个模块流到另一个模块过程中的正确性。保证上述正确性是保证信息系统正确的前提。例如,我们要保证一个计算器程序中的数据在运算模块和输入输出模块之间的一致性,否则程序将出现错误。,(3)测试策略,描述如何公正客观地开展测试。要考虑模块、功能、集成、系统、版本、压力、性能、配置和安装等各个因
22、素的影响。,一般的测试策略,测试开始于单元级,然后“延伸”到整个系统中。不同的测试技术适用于不同的时间点。测试是由软件的开发人员和独立测试组织来管理的。,黑盒测试的测试策略,1用边界值分析法和(或)等价类划分法提出基本的测试用例;2用错误猜测法补充新的测试用例;3如果在程序的功能说明中含有输入条件的组合,则在测试一开始时就使用因果图法,然后再按以上1、2两种步骤进行。,单元测试的测试策略,1首先用黑盒测试方法,设计一组基本测试用例进行测试。如果发现未能满足覆盖标准,就用白盒测试法补充新的测试用例2首先用白盒测试法分析模块的逻辑结构,设计一批测试用例进行测试。如果发现未能满足覆盖标准,根据模块的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息系统 测试 设计 组织 实施 课件
链接地址:https://www.31ppt.com/p-4059005.html