软件测试 第1章软件测试基础知识.docx

上传人:李司机 文档编号:1253705 上传时间:2022-09-04 格式:DOCX 页数:7 大小:59.98KB
返回 下载 相关 举报
软件测试 第1章软件测试基础知识.docx_第1页
第1页 / 共7页
软件测试 第1章软件测试基础知识.docx_第2页
第2页 / 共7页
软件测试 第1章软件测试基础知识.docx_第3页
第3页 / 共7页
软件测试 第1章软件测试基础知识.docx_第4页
第4页 / 共7页
软件测试 第1章软件测试基础知识.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《软件测试 第1章软件测试基础知识.docx》由会员分享,可在线阅读,更多相关《软件测试 第1章软件测试基础知识.docx(7页珍藏版)》请在三一办公上搜索。

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

2、试的必要性1 案例说明:1.1 迪斯尼的软件问题1.2 1994年Intel芯片的浮点除法问题1.3 1999年发生的火星探测飞船的坠毁1.4 Therac-25(特瓦克-25)大事1.5 爱国者导弹防备系统软件故障2 导致软件缺陷的缘由2.1 有很多因素会导致软件缺陷,主观缘由是人类在从事软件开发过程中简单犯错误2.2 开发过程管理法律规范性、开发技术、软件的简单性、开发的周期长短及个人力量等因素也会导致软件缺陷的产生说明:软件测试是发觉并订正软件缺陷极其重要的活动,作为一名软件工程专业的同学,特别有必要把握基本的测试理论和技术。3 软件测试在软件开发、维护和使用中的角色3.1 在软件开发过

3、程中,软件测试是质量保证的一个环节,有助于发觉各阶段的缺陷,避开缺陷进入下一阶段,对软件的质量起到关键作用3.2 在维护阶段,软件测试主要发觉由于修改或功能增加而导致的软件缺陷3.3 在使用过程中,可能由于硬件升级、运行环境变化及软件退役等缘由消失各种问题,软件测试主要用于找到这些问题所在,或者通过软件测试模拟或再现可能消失的问题其次节软件测试和软件质量的基本概念1 .软件测试的定义1.1 在规定条件下对软件进行操作,以发觉错误,对软件质量进行评估1.2 软件测试有两个基本职责,即验证和确认。2 软件质量的定义2.1 在规定条件下使用时,软件产品满意明确或隐含要求的力量,分为内部质量、外部质量

4、和使用质量2.2 内部质曷指软件产品本身的质量2.3 外部质量指软件产品作为计算机系统的一个组成部分,使得系统的行为能满意明确和隐含需要的力量2.4 使用质量(qualityinuse)是基于用户观点的软件产品用于指定的环境和使用周境(context)时的质量3 错误error,缺陷defect,故障fault,失效failure,bug3.1 错误、缺陷、故障:计算机程序中不正确的步骤、过程或数据定义3.2 失效:产品执行所要求功能的力量的终止或它在从前规定的限度内无力执行所要求的功能3.3 错误和缺陷是客观存在的东西,故障是执行错误和缺陷的结果,故障的消失将导致失效,BUg是错误的口语化表

5、示3.4 BUG:(小错误,缺陷,不足,过失)一个计算机bug指在计算机程序中存在的一个错误(error)、缺陷(flaw)、疏忽(mistake)或者故障(fault),这些bug使程序无法正确的运行。Bug产生于程序的源代码或者程序设计阶段的疏忽或者错误。4 确认与验证4.1 确认Validation:通过检查和供应客观证据来证明针对某一特定预期用途的需求己经得到满意一在设计和开发中,确认涉及到检查某个产品以确定是否符合用户需要的过程确认:我们在构造正确的产品吗?Validation:Arewebuildingtherightproduct?4.2 验证VerifiCation:通过检查和

6、供应客观证据来证明规定需求已经得到满意一在设计和开发中,验证是指对某项规定活动的结果进行检查的过程,以确定该活动对规定需求的符合状况验证:我们在正确地构造产品吗?Verification:Arewebuildingtheproductright?5 软件测试和软件质量保证的区分5.1 软件测试只是软件质量保证工作中的一个环节5.2 软件质量保证和软件测试是软件质量工程的两个不同层面的工作5.3 软件质量保证主要着眼于软件开发活动中的过程、步骤和产物(工作产品),而不是对软件本身进行剖析、找出缺陷和评估例如:食品的质量保证是构建食品平安体系,从食品原料到企业内部生产、产品流通到最终消费者全部环节

7、都要建立严格的质量掌握体系,严把质量关,才能确保食品平安,关注的是食品从原材料生产到最终销僧的一个过程。5.4 软件测试虽然也与开发过程紧密相关,但关怀的不是过程的活动,而是对过程的产物或开发出的软件工作产品进行剖析例如:在食品的质量保证中,软件测试类似企业内部对每个生产批次的食品的抽查检验,关注的是食品本身的质量问题。第三节软件测试现状与进展1 .现状:1.1 20世纪50年月,软件测试与调试加以区分,成为发觉软件缺陷的重要活动1.2 20世纪80年月初期,“软件质量被广阔业者重视,软件测试不单纯是发觉错误的过程,而且包含对软件质量的评价1.3 20世纪90年月,由于软件的简单性提高、对软件

8、质量的要求越来越严格、软件测试技术的进展,消失各种测试工具1.4 近20年来,测试专家总结出了一些测试模型,例如,V模型、W模型等,在测试过程改进方面提出了TMM(TeStingManIrityMOdeI测试成熟度模型)的概念2 进展趋势2.1 软件测试不仅是软件开发的一个活动,而且应贯穿整个软件开发的全过程2.2 在软件开发过程中软件架构师、开发工程师、QA人员、测试工程师将进行更好的融合,测试与软件的分析、设计、编码等工作的集成度越来越高2.3 软件测试工程师在软件开发过程中的地位越来越重要,测试职业得到了充分的敬重2.4 软件测试工具在软件测试中起到重要的作用,测试工具能与其他开发工具做

9、到很好的集成,达到不同工具间的信息数据共享2.5 软件测试外包服务将快速增长,将成为全球化的一种趋势第四节软件测试的目的和原则1 .目的1.1 软件测试的目的是通过软件测试而发觉软件缺陷,并通过软件测试来确保软件产品的质量1.2 测试并不仅仅是为了要找出缺陷,还可用于对软件质量进行评估1.3 通过分析缺陷产生的缘由和缺陷的分布特征,可以关心项目管理者或测试人员改进其工作1.4 服务于测试目标的规章1.4.1 软件测试是为了发觉错误而执行程序的过程1.4.2 测试是为了证明程序有错,而不是证明程序无错1.4.3 一个好的测试用例在于它能发觉至今未发觉的错误1.4.4 一个胜利的测试是发觉了至今未

10、发觉的错误的测试2 原则2.1 全部的软件测试都应追溯到用户需求必需湎意用户需求2.2 尽早地和不断地进行软件测试问题发觉越早,解决问题的代价就越小,这是软件开发过程中的黄金法则2.3 不行能完全地测试主要缘由:测试全部可能输入是不行能的、系统或程序的全部路径不行能全部执行、无法发觉需求规格说明书本身的错误、不行能穷尽全部输出2.4 增量测试,由小到大由小到大的测试策略指的是软件测试对象的粒度,先测试子程序、类、构件,再逐步将其组合成较大的模块(或子系统)进行测试2.5 避开测试自己的程序主要缘由:由程序员承认自己写的程序有缺陷往往比较困难等缘由2.6 设计完善的测试用例测试用例的设计是测试工

11、作的核心内容,应当尽可能地设计得周密细致。测试用例设计完成后需要进行评审2.7 留意测试中的群集现象测试中发觉的80%的错误可能来自20%的程序代码2.8 确认缺陷的有效性缺陷A可能导致缺陷B的产生,缺陷A修复后,缺陷B可能自然消逝2.9 合理支配测试方案测试方案给出什么时间地点由谁来怎样完成什么任务2.10 进行回归测试回归测试是对修正缺陷后的应用程序进行测试,以确保缺陷被修复,并且没有引入新的软件缺陷2.11 测试结果的统计和分析只有对测试的输出信息进行深化的统计、分析和比较,才能给出清楚的错误缘由分析报告2.12 准时更新测试在测试过程中,消失需求变更、设计变更等状况时,都要准时更新测试

12、第五节软件测试分类可以从不同的角度进行分类1 .按测试阶段或层次1.1 单元测试1.2 集成测试1.3 系统测试1.4 验收测试2 按测试目标或特性2.1 功能性测试2.2 非功能性测试2.2.1 性能测试2.2.2 压力测试2.2.3 平安保密性测试2.2.4 牢靠性测试2.2.5 安装测试3 按测试方法3.1 静态测试3.1.1 人工测试3.1.2 自动测试3.2 动态测试3.2.1 白盒测试3.2.2 黑盒测试3.2.3 灰盒测试4 单元测试4.1 单元测试的对象是程序系统中的最小单元一模块或组件4.2 通常在编码阶段进行单元测试,主要采纳白盒测试方法,依据程序的内部结构设计测试用例,检

13、查程序模块或组件的己实现的功能与定义的功能是否全都、以及编码中是否存在错误4.3 多个模块可以平行地、独立地测试4.4 单元测试一般由编程人员和测试人员共同完成,而以开发人员为主4.5 单元测试包括代码审查,代码审查可以发觉程序50%70%的代码缺陷5 集成测试5.1 集成测试,也称组装测试、联合测试、子系统测试,在单元测试的基础上,将模块依据设计要求组装在一起进行测试,主要目标是发觉与接口有关的模块之间的问题5.2 两种集成方式5.2.1 一次性(非增量)集成方式5.2.2 增殖(增量)式集成方式6 系统测试6.1 系统测试是将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人

14、员等,在实际运行环境下进行一系列的测试6.2 主要针对系统的非功能性特征,如性能测试、压力测试、容量测试、平安保密性测试、恢夏测试、健壮性测试、牢靠性测试、可安装性测试等7 验收测试7.1 目的是向将来的用户表明系统能够像预定要求那样工作,验证软件的功能和性能犹如用户所合理期盼的那样8 功能性测试8.1 功能性测试一般须在完成集成测试后进行,而且是针对应用系统进行测试8.2 功能测试是基于产品功能说明书,已知产品应具有的功能,从用户角度来进行功能验证,以确认每个功能是否都能正常使用9 静态测试和动态测试9.1 静态测试是指不通过执行实际代码(被测程序)而对软件开发的产品进行分析的测试活动9.1

15、.1 人工方法:由测试人员手工逐步执行全部的活动,并观看每一步是否胜利完成(测试对象:开发过程中的中间产品,程序)9.1.2 自动方法:使用一组测试工具对被测软件进行分析和验证(测试对象:程序)9.2 动态测试是指运行被测程序,通过输入测试用例,分析运行结果,从而发觉软件的错误和缺陷的测试活动10白盒测试与黑盒测试10.1 白盒测试(又称为结构测试)把测试对象看作一个透亮的盒子,测试人员依据程序内部的规律结构及有关信息设计测试用例,检查程序中全部规律路径是否都按预定的要求正确地工作10.2 黑盒测试(又称功能测试)把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的规律结构和内部特性,只依据

16、程序的需求规格说明书,检查程序的功能是否符合它的功能需求H灰盒测试11.1 灰盒测试介于白盒测试与黑盒测试之间,关注的是输出对于输入的正确性,同时也关注内部表现,但这种关注不像白盒那样具体、完整,只是通过一些表征性的现象、大事、标志来推断内部的运行状态11.2 灰盒是一种程序或系统的工作过程被局部认知的装置,是基于对程序内部细节有限认知的方法113测试者可能知道系统组件之间是如何相互作用的,但缺乏对内部程序功能和运作的具体了解11.4 对于内部过程,灰盒测试把程序看作一个必需从外面进行分析的黑盒第六节测试完成标准1 .可以从以下几个方面考虑:1.1 测试的时间用完时1.2 连续测试没有产生新失

17、效时1.3 连续测试没有发觉新的缺陷时1.4 无法设计出新的测试用例时1.5 连续测试回报很小时1.6 达到所要求的测试掩盖时1.7 全部已发觉的错误或缺陷都已经被清除时2 观看测试阶段中单位时间内发觉错误数目的曲线不应停止可以 停 止周(或天)发现的错误数单位时间内第七节软件测试过程1 .GBzTI5532软件测试法律规范中的测试过程a)测试策划:确定需要测试的内容或质量特性,确定测试的充分性要求,提出测试的基本方法,确定测试资源和技术需求,进行风险分析与评估,制定测试方案b)测试设计:依据测试需求,分析并选用已有的测试用例或设计新的测试用例,猎取并验证测试数据,确定测试用例执行挨次,猎取测试资源,开发测试软件,建立并校准测试环境,进行测试就绪评审c)测试执行:执行测试用例,猎取测试结果,分析并判定测试结果,并依据不同的判定结果实行相应的措施d)测试总结:整理和分析测试数据,评价测试效果和被测软件项,描述测试状态,完成软件测试报告,通过测试评审2 .测试驱动开发的基本思想a)在开发功能代码之前,先编写测试代码,然后只编写使测试通过的功能代码,从而以测试来驱动整个开发过程的进行b)测试驱动开发有助于编写简洁、可用和高质量的代码,有很高的敏捷性和健壮性,能快速响应变化,并加速开发过程c)比方:拉线砌墙d)灵敏方法(如XP方法)采纳测试驱动开发

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号