软件测试 第1章软件测试基础知识_第1页
软件测试 第1章软件测试基础知识_第2页
软件测试 第1章软件测试基础知识_第3页
软件测试 第1章软件测试基础知识_第4页
软件测试 第1章软件测试基础知识_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程教学内容:软件测试基本学问静态测试技术动态测试技术:这一章我们将学习白盒测试和黑盒测试方法单元测试集成测试系统测试验收测试面对对象软件测试:这一章我们将学习到面对对象测试的基本方法和策略专用应用系统测试:将主要学习GUI测试,WEB应用系统测试以及数据库测试;测试管理第一章软件测试基础学问教学内容:软件测试的必要性软件测试和软件质量的基本概念软件测试现状与进展软件测试的目的和原那么软件测试分类测试完成标准软件测试过程课型:新授课教时:4课时教学重点:.软件测试的定义.软件测试的原那么.软件测试的分类.黑盒测试的定义.白盒测试的定义第一节软件测试的必要性案例说明:迪斯尼的软件问题1994年I

2、ntel芯片的浮点除法问题1999年发生的火星探测飞船的坠毁Therac-25 (特瓦克-25)大事爱国者导弹防范系统软件故障导致软件缺陷的缘由有很多因素会导致软件缺陷,主观缘由是人类在从事软件开发过程中简单犯错误开发过程管理法律规范性、开发技术、软件的简单性、开发的周期长短及个人力量等因素也会导致软件缺陷的产生说明:软件测试是觉察并订正软件缺陷极其重要的活动,作为一名软件工程专业的同 学,特别有必要把握基本的测试理论和技术。软件测试在软件开发、维护和使用中的角色在软件开发过程中,软件测试是质量保证的一个环节,有助于觉察各阶段的缺陷,避开缺陷进入下一阶段,对软件的质量起到关键作用在维护阶段,软

3、件测试主要觉察由于修改或功能增加而导致的软件缺陷在使用过程中,可能由于硬件升级、运行环境变化及软件退役等缘由消失各种问题,软件测试主要用于找到这些问题所在,或者通过软件测试模拟或再现可能消 失的问题其次节 软件测试和软件质量的基本概念.软件测试的定义在规定条件下对软件进行操作,以觉察错误,对软件质量进行评估软件测试有两个基本职责,即验证和确认。软件质量的定义在规定条件下使用时,软件产品满意明确或隐含要求的力量,分为内部质量、外部质量和使用质量内部质量指软件产品本身的质量外部质量指软件产品作为计算机系统的一个组成局部,使得系统的行为能满意明确和隐含需要的力量使用质量(quality in use

4、)是基于用户观点的软件产品用于指定的环境和使用周境(context)时的质量错误 error,缺陷 defect,故障 fault,失效 failure , bug错误、缺陷、故障:计算机程序中不正确的步骤、过程或数据定义失效:产品执行所要求功能的力量的终止或它在从前规定的限度内无力执行所要 求的功能错误和缺陷是客观存在的东西,故障是执行错误和缺陷的结果,故障的消失将导致失效,Bug是错误的口语化表示BUG:(小错误,缺陷,缺乏,过失)一个计算机bug指在计算机程序中存在 的一个错误(error)缺陷(flaw)、疏忽(mistake)或者故障(fault),这些bug 使程序无法正确的运行。

5、Bug产生于程序的源代码或者程序设计阶段的疏忽或者 错误。确认与验证确认 validation:通过检查和供应客观证据来证明针对某一特定预期用途的需求已经得到满意在设计和开发中,确认涉及到检查某个产品以确定是否符合用户需要的过程 确认:我们在构造正确的产品吗?Validation: Are we building the right product?验证 verification:通过检查和供应客观证据来证明规定需求已经得到满意在设计和开发中,验证是指对某项规定活动的结果进行检查的过程,以确定 该活动对规定需求的符合状况验证:我们在正确地构造产品吗?Verification: Are we b

6、uilding the product right?软件测试和软件质量保证的区分软件测试只是软件质量保证工作中的一个环节软件质量保证和软件测试是软件质量工程的两个不同层面的工作软件质量保证主要着眼于软件开发活动中的过程、步骤和产物(工作产品),而不 是对软件本身进行剖析、找出缺陷和评估例如:食品的质量保证是构建食品平安体系,从食品原料到企业内部生产、产品 流通到最终消费者全部环节都要建立严格的质量掌握体系,严把质量关,才能确 保食品平安,关注的是食品从原材料生产到最终销售的一个过程。软件测试虽然也与开发过程紧密相关,但关怀的不是过程的活动,而是对过程的 产物或开发出的软件工作产品进行剖析例如:

7、在食品的质量保证中,软件测试类似企业内部对每个生产批次的食品的抽 查检验,关注的是食品本身的质量问题。第三节软件测试现状与进展.现状:20世纪50年月,软件测试与调试加以区分,成为觉察软件缺陷的重要活动20世纪80年月初期,“软件质量”被广阔业者重视,软件测试不单纯是觉察错误的过程,而且包含对软件质量的评价20世纪90年月,由于软件的简单性提高、对软件质量的要求越来越严格、软件测试技术的进展,消失各种测试工具近20年来,测试专家总结出了一些测试模型,例如,V模型、W模型等,在测 试过程改进方面提出了 TMM(Testing Maturity Model测试成熟度模型)的概念进展趋势软件测试不仅

8、是软件开发的一个活动,而且应贯穿整个软件开发的全过程在软件开发过程中软件架构师、开发工程师、QA人员、测试工程师将进行更好 的融合,测试与软件的分析、设计、编码等工作的集成度越来越高软件测试工程师在软件开发过程中的地位越来越重要,测试职业得到了充分的敬 重软件测试工具在软件测试中起到重要的作用,测试工具能与其他开发工具做到很 好的集成,到达不同工具间的信息数据共享软件测试外包服务将快速增长,将成为全球化的一种趋势第四节 软件测试的目的和原那么.目的软件测试的目的是通过软件测试而觉察软件缺陷,并通过软件测试来确保软件产 品的质量测试并不仅仅是为了要找出缺陷,还可用于对软件质量进行评估通过分析缺陷

9、产生的缘由和缺陷的分布特征,可以关心工程管理者或测试人员改 进其工作服务于测试目标的规章软件测试是为了觉察错误而执行程序的过程测试是为了证明程序有错,而不是证明程序无错一个好的测试用例在于它能觉察至今未觉察的错误一个胜利的测试是觉察了至今未觉察的错误的测试原那么全部的软件测试都应追溯到用户需求必需满意用户需求尽早地和不断地进行软件测试问题觉察越早,解决问题的代价就越小,这是软件开发过程中的黄金法那么不行能完全地测试主要缘由:测试全部可能输入是不行能的、系统或程序的全部路径不行能全部执 行、无法觉察需求规格说明书本身的错误、不行能穷尽全部输出增量测试,由小到大由小到大的测试策略指的是软件测试对象

10、的粒度,先测试子程序、类、构件,再 逐步将其组合成较大的模块(或子系统)进行测试避开测试自己的程序主要缘由:由程序员成认自己写的程序有缺陷往往比拟困难等缘由设计完善的测试用例测试用例的设计是测试工作的核心内容,应当尽可能地设计得周密细致。测试用例设计完成后需要进行评审留意测试中的群集现象测试中觉察的80%的错误可能来自20%的程序代码确认缺陷的有效性缺陷A可能导致缺陷B的产生,缺陷A修复后,缺陷B可能自然消逝合理支配测试方案测试方案给出什么时间地点由谁来怎样完成什么任务进行回归测试回归测试是对修正缺陷后的应用程序进行测试,以确保缺陷被修复,并且没有引 入新的软件缺陷测试结果的统计和分析只有对测

11、试的输出信息进行深化的统计、分析和比拟,才能给出清楚的错误缘由 分析报告准时更新测试在测试过程中,消失需求变更、设计变更等状况时,都要准时更新测试第五节软件测试分类可以从不同的角度进行分类.按测试阶段或层次单元测试集成测试系统测试验收测试按测试目标或特性功能性测试非功能性测试221性能测试压力测试223平安保密性测试牢靠性测试安装测试按测试方法静态测试人工测试自动测试动态测试白盒测试黑盒测试灰盒测试单元测试单元测试的对象是程序系统中的最小单元模块或组件通常在编码阶段进行单元测试,主要采纳白盒测试方法,依据程序的内部结构设计测试用例,检查程序模块或组件的已实现的功能与定义的功能是否全都、以及 编

12、码中是否存在错误多个模块可以平行地、独立地测试单元测试一般由编程人员和测试人员共同完成,而以开发人员为主单元测试包括代码审查,代码审查可以觉察程序50%70%的代码缺陷集成测试集成测试,也称组装测试、联合测试、子系统测试,在单元测试的基础上,将模 块依据设计要求组装在一起进行测试,主要目标是觉察与接口有关的模块之间的 问题两种集成方式一次性(非增量)集成方式522增殖(增量)式集成方式系统测试系统测试是将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试主要针对系统的非功能性特征,如性能测试、压力测试、容量测试、平安保密性测试、恢复测试、健壮

13、性测试、牢靠性测试、可安装性测试等验收测试目的是向将来的用户说明系统能够像预定要求那样工作,验证软件的功能和性能 犹如用户所合理期盼的那样功能性测试功能性测试一般须在完成集成测试后进行,而且是针对应用系统进行测试功能测试是基于产品功能说明书,产品应具有的功能,从用户角度来进行功能验证,以确认每个功能是否都能正常使用静态测试和动态测试静态测试是指不通过执行实际代码(被测程序)而对软件开发的产品进行分析的测试活动人工方法:由测试人员手工逐步执行全部的活动,并观看每一步是否胜利完 成(测试对象:开发过程中的中间产品,程序)自动方法:使用一组测试工具对被测软件进行分析和验证(测试对象:程序)动态测试是

14、指运行被测程序,通过输入测试用例,分析运行结果,从而觉察软件的错误和缺陷的测试活动10白盒测试与黑盒测试白盒测试(又称为结构测试)把测试对象看作一个透亮的盒子,测试人员依据程序内部的规律结构及有关信息设计测试用例,检查程序中全部规律路 径是否都按预定的要求正确地工作黑盒测试(又称功能测试)把测试对象看做一个黑盒子,测试人员完全不考虑程 序内部的规律结构和内部特性,只依据程序的需求规格说明书,检查程序的功能 是否符合它的功能需求11灰盒测试灰盒测试介于白盒测试与黑盒测试之间,关注的是输出对于输入的正确性,同时 也关注内部表现,但这种关注不像白盒那样具体、完整,只是通过一些表征性的 现象、大事、标

15、志来推断内部的运行状态灰盒是一种程序或系统的工作过程被局部认知的装置,是基于对程序内部细节有 限认知的方法测试者可能知道系统组件之间是如何相互作用的,但缺乏对内部程序功能和运作 的具体了解对于内部过程,灰盒测试把程序看作一个必需从外面进行分析的黑盒第六节测试完成标准.可以从以下几个方面考虑:测试的时间用完时连续测试没有产生新失效时连续测试没有觉察新的缺陷时无法设计出新的测试用例时连续测试回报很小时到达所要求的测试掩盖时全部已觉察的错误或缺陷都已经被清除时观看测试阶段中单位时间内觉察错误数目的曲线单位时间内可以停止发现的错误数 单位时间内周(或天)周(或天)第七节软件测试过程. GB/T 15532软件测试法律规范中的测试过程a)测试筹划:确定需要测试的内容或质量特性,确定测试的充分性要求,提出测试的 基本方法,确定测试资源和技术需求,进行风险分析与评估,制定测试方案b)测试设计:依据测试需求,分析并选用已有的测试用例或设计新的测试用例,猎取 并验证测试数据,确定测试用例执行挨次,猎取测试资源,开发测试软件,建立并 校准测试环境,进行测试就绪评审c)测试执

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论