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

下载本文档

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

文档简介

1、课程教学内容:软件测试大体知识静态测试技术动态测试技术:这一章咱们将学习白盒测试和黑盒测试方式单元测试集成测试系统测试验收测试面向对象软件测试:这一章咱们将学习到面向对象测试的大体方式和策略专用应用系统测试:将要紧学习GUI测试,WEB应用系统测试和数据库测试:测试治理第一章软件测试基础知识教学内容: 软件测试的必要性 软件测试和软件质量的大体概念 软件测试现状与进展 软件测试的目的和原那么 软件测试分类 测试完成标准 软件测试进程课型:新讲课教时:4课时教学重点:1 .软件测试的概念2 .软件测试的原那么3 .软件测试的分类4 .黑盒测试的概念5 .白盒测试的概念第一节软件测试的必要性1 案

2、例说明: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 在规定条件下利历时,软件产品知足明确或隐含要求的能力,分为内部质量、外部质量和利用质量2.2 内部

4、质量指软件产品本身的质量2.3 外部质量指软件产品作为运算机系统的一个组成部份,使得系统的行为能知足明确和隐含需要的能力2.4 利用质量(qualityinuse)是基于用户观点的软件产品用于指定的环境和利用周境(context)时的质量3 错误error,缺点defect,故障fault,失效failure,bug3.1 错误、缺点、故障:运算机程序中不正确的步骤、进程或数据概念3.2 失效:产品执行所要求功能的能力的终止或它在先前规定的限度内无力执行所要求的功能3.3 错误和缺点是客观存在的东西,故障是执行错误和缺点的结果,故障的显现将致使失效,Bug是错误的口语化表示3.4 BUG:(小

5、错误,缺点,不足,过失)一个运算机bug指在运算机程序中存在的一个错误(error)、缺点(flaw)、疏忽(mistake)或故障(fault),这些bug使程序无法正确的运行。Bug产生于程序的源代码或程序设计时期的疏忽或错装。4 确认与验证4.1 确认validation:4.2 通过检查和提供客观证据来证明针对某一特定预期用途的需求已经取得知足4.3 在设计和开发中,确认涉及到检查某个产品以确信是不是符合用户需要的进程4.4 确认:咱们在构造正确的产品吗?4.5 Validation:Arewebuildingtherightproduct?4.6 验证verification:4.7

6、 通过检查和提供客观证据来证明规定需求已经取得知足4.8 在设计和开发中,验证是指对某项规定活动的结果进行检查的进程,以确信该活动对规定需求的符合情形4.9 验证:咱们在正确地构造产品吗?4.10 Verification:Arewebuildingtheproductright?5 软件测试和软件质量保证的区别5.1 软件测试只是软件质量保证工作中的一个环节5.2 软件质量保证和软件测试是软件质量工程的两个不同层面的工作5.3 软件质量保证要紧着眼于软件开发活动中的进程、步骤和产物(工作产品),而不是对软件本身进行剖析、找出缺点和评估5.4 例如:食物的质量保证是构建食物平安部系,从食物原料

7、到企业内部生产、产品流通到最终消费者所有环N都要成立严格的质量操纵体系,严把质量关,才能确保食物平安,关注的是食物从原材料生产到最终销售的一个进程。5.5 软件测试尽管也与开发进程紧密相关,但关切的不是进程的活动,而是对进程的产物或开发出的软件工作产品进行剖析5.6 例如:在食物的质量保证中,软件测试类似企业内部对每一个生产批次的食物的抽查查验,关注的是食物本身的质量问题。第三节软件测试现状与进展1 .现状:1.1 20世纪50年代,软件测试与调试加以区分,成为发觉软件缺点的重要活动1.2 20世纪80年代初期,“软件质量”被广大业者重视,软件测试不单纯是发觉错误的进程,而且包括对软件质量的评

8、判1320世纪90年代,由于软件的复杂性提高、对软件质量的要求愈来愈严格、软件测试技术的进展,显现各类测试工具1.4 近20年来,测试专家总结出了一些测试模型,例如,V模型、W模型等,在测试进程改良方而提出了TMM(TestingMaturityModel测试成熟度模型)的概念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 一个好的测试用例在于它能发

10、觉至今未发觉的错误1.4.4 一个成功的测试是发觉了至今未发觉的错误的测试2 原那么2.1 所有的软件测试都应追溯到用户需求2.2 必需知足用户需求2.3 及早地和不断地进行软件测试2.4 问题发觉越早,解决问题的代价就越小,这是软件开发进程中的黄金法那么2.5 不可能完全地测试2.6 要紧缘故:测试所有可能输入是不可能的、系统或程序的所有途径不可能全数执行、无法发觉需求规格说明书本身的错误、不可能穷尽所有输出2.7 增量测试,由小到大2.8 由小到大的测试策略指的是软件测试对象的粒度,先测试子程序、类、构件,再慢慢将其组合成较大的模块(或子系统)进行测试2.9 幸免测试自己的程序2.10 要

11、紧缘故:由程序员承认自己写的程序有缺点往往比较困难等缘故2.11 设计完善的测试用例2.12 测试用例的设计是测试工作的核心内容,应该尽可能地设计得周密细致。测试用例设计完成后需要进行评审2.13 注意测试中的群集现象2.14 测试中发觉的80%的错误可能来自20%的程序代码2.15 确认缺点的有效性2.16 缺点A可能致使缺点B的产生,缺点A修复后,缺点B可能自然消失2.17 合理安排测试打算2.18 测试打算给出什么时刻地址由谁来如何完成什么任务2.19 进行回归测试2.20 回归测试是对修正缺点后的应用程序进行测试,以确保缺点被修复,而且没有引入新的软件缺点2.21 测试结果的统计和分析

12、2.22 只有对测试的输出信息进行深切的统计、分析和比较,才能给出清楚的错误缘故分析报告2.23 及时更新测试2.24 在测试进程中,显现需求变更、设计变更等情形时,都要及时更新测试第五节软件测试分类能够从不同的角度进行分类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 黑盒

13、测试3.2.3 灰盒测试4 单元测试4.1 单元测试的对象是程序系统中的最小单元-模块或组件4.2 通常在编码时期进行单元测试,要紧采纳白盒测试方式,依照程序的内部结构设计测试用例,检查程序模块或组件的已实现的功能与概念的功能是不是一致、和编码中是不是存在错误4.3 多个模块能够平行地、独立地测试4.4 单元测试一样由编程人员和测试人员一起完成,而以开发人员为主4.5 单元测试包括代码审查,代码审查能够发觉程序50%70%的代码缺点5 集成测试5.1 集成测试,也称组装测试、联合测试、子系统测试,在单元测试的基础上,将模块依照设计要求组装在一路进行测试,要紧目标是发觉与接口有关的模块之间的问题

14、5.2 两种集成方式5.2.1 一次性(非增量)集成方式5.2.2 增殖(增量)式集成方式6 系统测试6.1 系统测试是将软件放在整个运算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试6.2 要紧针对系统的非功能性特点,如性能测试、压力测试、容量测试、平安保密性测试、恢复测试、健壮性测试、靠得住性测试、可安装性测试等7 验收测试7.1 目的是向以后的用户说明系统能够像预定要求那样工作,验证软件的功能和性能犹如用户所合理期待的那样8 功能性测试8.1 功能性测试一样须在完成集成测试后进行,而且是针对应用系统进行测试8.2 功能测试是基于产品功能说明书,已知

15、产品应具有的功能,从用户角度来进行功能验证,以确认每一个功能是不是都能正常利用9 静态测试和动态测试9.1 静态测试是指不通过执行实际代码(被测程序)而对软件开发的产品进行分析的测试活动9.1.1 人工方式:由测试人员手工慢慢执行所有的活动,并观看每一步是不是成功完成(测试对象:开发进程中的中间产品,程序)9.1.2 自动方式:利用一组测试工具对被测软件进行分析和验证(测试对象:程序)9.2 动态测试是指运行被测程序,通过输入测试用例,分析运行结果,从而发觉软件的错误和缺点的测试活动10白盒测试与黑盒测试10.1 白盒测试(又称为结构测试)把测试对象看做一个透明的盒子,测试人员依照程序内部的逻

16、辑结构及有关信息设计测试用例,检查程序中所有逻辑途径是不是都按预定的要求正确地工作10.2 黑盒测试(又称功能测试)把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是不是符合它的功能需求11灰盒测试11.1 灰盒测试介于白盒测试与黑盒测试之间,关注的是输出关于输入的正确性,同时也关注内部表现,但这种关注不像白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判定内部的运行状态11.2 灰盒是一种程序或系统的工作进程被局部认知的装置,是基于对程序内部细节有限认知的方式11.3 测试者可能明白系统组件之间是如何相互作用的,但

17、缺乏对内部程序功能和运作的详细了解11.4 关于内部进程,灰盒测试把程序看做一个必需从外而进行分析的黑盒第六节测试完成标准1 .能够从以下几个方而考虑:1.1 测试的时刻用尽时1.2 继续测试没有产生新失效时1.3 继续测试没有发觉新的缺点时1.4 无法设计出新的测试用例时1.5 继续测试回报很小时1.6 达到所要求的测试覆盖时1.7 所有已发觉的错误或缺点都已经被清除时2 观看测试时期中单位时刻内发觉错误数量的曲线单位时间内单位时间内周(或天)周(或天)第七节软件测试进程1 .GB/T15532软件测试标准中的测试进程a)测试策划:确信需要测试的内容或质量特性,确信测试的充分性要求,提出测试的大体方式,确信测试资源和技术需求,进行风险分析与评估,制定测试打算b)测试设计:依据测试需求,分析并选用已有的测试用例或设计新的测试用例,获取并验证测试数据,确信测试用例执行顺序,获取测试资源,开发

温馨提示

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

评论

0/150

提交评论