




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件测试方法和技术
第2版
第1章引论机遇和挑战并存TestEngineer目前国内软件业的弱点正是发展的前沿QA/SupervisorProject/Quality
ManagerSenior
Engineer21世纪什么最贵——软件测试工程师
软件测试工程师,目前IT行业极端短缺的金贵人才,未来5年IT行业最炙手可热的高薪职位。中国软件业每年新增约20万测试岗位就业机会,而企业、学校培养出的测试人才却不足需求量的1/10,这种测试人才需求与供给间的差距仍在拉大。
软件测试——产品质量的保证软件测试——控制成本的关键软件测试——软件可靠性确认软件测试——让企业具备国际竞争的实力
软件测试的地位据资料显示,在国外大多数软件公司,1个软件开发工程师便需要辅有1个软件测试工程师。
前微软亚洲研究院博士、软件测试专家陈宏刚表示,在很多大型的软件开发项目中,软件测试绝对不是开发活动完成后的“收尾”工作,甚至会占据整个项目周期一半以上的时间。以IE4.0为例,代码开发时间为6个月,而稳定程序花去了8个月的时间。从投入的资金和人力物力来看,测试、使产品稳定和修改花去的时间占到整个项目时长的80%。而微软开发Windows2000操作系统的过程更历时3年,投入50亿美元,使用了250名项目经理、1700名软件开发工程师、3200名软件测试工程师。
人力市场的测试人员位置?上万名
虚位以待
…Onlyinonewebsite-51job.cob一个测验设计一组测试用例程序描述:从一个输入对话框中读取3个整数值,这3个整数值代表三角形的3条边的长度,程序显示提示信息,指出该三角形究竟是不规则三角形,等腰三角形和等边三角形.……对照自己的得分-1代表了一个有效的不规则三角形?代表一个有效的等边三角型?代表一个有效的等腰三角型?是否至少有三个测试用例?代表有效的等腰三角型?从而可以测试到2等边的所有三种情况.某边的长度等于0某边的长度为负数三个整数都大于0,两边和等于第三边.对照自己的得分-2是否至少有3个第7类的测试用例?列举了3种可能的情况.三个整数都大于0,两边和小于第三边.是否至少有3个第9类的测试用例?列举了3种可能的情况.3边的长度都等于0输入的边长为非整数值输入的边长个数不对.对于每个测试用例,除了定义输入值外,还定义了其对应的预期输出值?7.8分!本书从不同的视角来探讨软件测试的本质及其内涵,并重点讲解了软件测试的各种方法和技术、自动化测试的原理、方法和工具以及它们的应用、实践。本书作为软件测试的实际应用参考,从怎样组建测试队伍、部署测试环境到测试用例设计、缺陷报告、测试项目管理等,化繁为简,将抽象理论知识变为可触摸到的实际操作。内容提要内容概览全书共三篇,分十七章软件测试的原理与方法,共四章,全面阐述软件测试的基本概念、方法、过程模型和标准等。软件测试的技术,共七章,介绍在各个测试阶段(单元测试、集成测试、系统测试、验收测试和安装测试)的技术及其实践,以及面向对象的测试、本地化测试、自动化测试、应用服务器测试等。软件测试的实践,共六章,介绍软件测试的团队和环境的建立,以及如何设计测试用例、报告软件缺陷、写测试报告、测试项目的管理。课程目标本课程是计算机或软件专业课程,重在培养我们的实践能力,适应软件企业的工作环境和业界标准,并和国际先进的软件开发理念和测试技术保持同步。通过本课程的学习,了解并掌握软件产品质量保证的基本思想和科学体系、软件测试技术的基本内容,以及软件测试的方法、技术和工具的使用,为全面掌握软件技术和软件项目管理打下坚实的基础
课程目标通过本课程的学习,我们还可以了解并掌握:
有效的测试策略、方法和技术测试计划和测试用例的设计测试自动化的引入、应用测试团队的建立和测试项目的管理更清楚、准确地报告测试缺陷对软件产品质量的正确评估软件测试和质量保证的关系和区别……课程服务于-测试工程师TestengineerQA工程师/经理
QAEngineer/Manager
软件工程过程组成员ThememberofSEPG
项目经理Projectmanager
程序员Programmer
软件分析师SoftwareAnalyst软件咨询顾问
SoftwareConsultant……课程安排2学分,32学时周次教学章节教学内容建议学时1
第1章引论1.1软件测试的必要性1.2为什么要进行软件测试?1.3什么是软件测试?1.4软件测试和软件开发的关系1.5测试驱动开发的思想21~2
第2章软件测试的基本概念2.1软件缺陷2.2验证和确认2.3软件测试的分类2.4测试阶段2.5软件测试的工作范畴22~3
第3章软件测试的方法3.1白盒测试方法3.2黑盒测试方法3.3静态测试和动态测试3.4主动测试和被动测试3.5形式化测试方法3.6基于风险的测试3.7模糊测试方法3.8ALAC测试和随机测试方法6课程安排
(2)周次教学章节教学内容建议学时4
第4章软件测试依据和规范4.1测试过程模型4.2测试过程改进模型4.3软件测试标准和规范4.4建立软件测试管理和评判体系 25第5章单元测试5.1什么是单元测试5.2单元测试的目标和任务5.3静态测试5.4驱动程序和桩程序5.5调试与评估5.6单元测试的管理5.7单元测试工具26第6章集成测试和系统测试6.1系统集成的模式与方法6.2功能测试6.3回归测试6.4非功能性测试6课程安排
(3)周次教学章节教学内容建议学时
7
第7章验收测试7.1验收测试过程 7.2产品规格说明书的验证7.3用户界面和可用性测试7.4兼容性测试7.5安装测试和可恢复性测试7.6文档测试28第8章面向对象软件的测试8.1概述8.2面向对象的单元测试8.3面向对象的集成测试 8.4基于客户角度的Java测试8.5基于程序角度的Java测试9第9章基于应用服务器的测试9.1基于Web服务器应用的测试9.2基于数据库应用服务器的测试9.3基于JavaEE应用服务器的测试2课程安排(4)周次教学章节教学内容建议学时10第10章软件本地化测试10.1什么是软件本地化10.2翻译验证10.3本地化测试的技术问题10.4本地化的功能测试211第11章软件测试自动化11.1测试自动化的内涵11.2测试自动化实现的原理11.3测试自动化的实施11.5功能测试工具11.6性能测试工具11.7安全性测试工具11.8缺陷跟踪系统11.9管理工具412第12章组织和管理测试团队12.l测试团队的地位和责任12.2测试团队的构成12.3如何从零开始12.4测试团队的管理和发展2课程安排(5)周次教学章节教学内容建议学时12第13章部署测试环境13.1测试环境的重要性13.2测试环境要素13.3虚拟机的应用13.4建立测试实验室13.5如何建立项目的测试环境13.6自动部署测试环境13.7测试环境的维护和管理13第14章设计和维护测试用例14.1测试用例构成及其设计14.2测试用例的组织和跟踪14第15章报告所发现的缺陷15.l软件缺陷的描述15.2软件缺陷相关的信息15.3软件缺陷跟踪和分析15.4软件缺陷跟踪系统课程安排(6)周次教学章节教学内容建议学时14第16章软件测试和质量分析报告16.1软件产品的质量度量16.2评估系统测试的覆盖程度16.3基于缺陷分析的产品质量评估 16.4测试报告的具体内容 15-16第17章软件测试项目管理17.1测试项目管理的特点17.2如何做好测试项目管理17.3软件测试项目的过程管理17.4测试项目的资源管理17.5测试项目的进度管理17.6测试项目的风险管理 17.7软件测试文档的管理 第1章引论1.1软件测试的必要性1.2为什么要进行软件测试?1.3什么是软件测试?1.4软件测试和软件开发的关系1.5测试驱动开发的思想1.1软件测试的必要性1.1.1迪斯尼并不总是带来笑声1.1.2一个缺陷造成了数亿美元损失1.1.3火星探测飞船坠毁1.1.4更多的悲剧迪斯尼并不总是带来笑声1994年圣诞节前夕,迪斯尼公司发布了第一个面向儿童的多媒体光盘游戏“狮子王童话”圣诞节后的第一天,迪斯尼客户支持部电话开始响个不停,不断有人咨询、抱怨为什么游戏总是安装不成功,或没法正常使用这个游戏软件只能在少数系统中正常运行一个缺陷造成了数亿美元损失(4195835/3145727)×3145727-4195835=?最后Intel公司付出很大代价,回收CPU,造成4亿美元损失火星探测飞船坠毁机械震动在大多数情况下也会触发着地开关,设置错误的数据位。设想飞船开始着陆时,计算机极有可能关闭推进器,而火星登陆飞船下坠1800米之后没有反推进器的帮助,冲向地面,必然会撞成碎片两个小组本身的工作都没什么问题,就是没有合在一起测试,其接口没有被测,而问题就在这里更多的悲剧放射性治疗仪Therac-25中的软件存在缺陷,导致几个癌症病人受到非常严重的过量放射性治疗,其中4个人因此死亡当爱国者导弹防御系统的时钟累计运行超过14小时后,系统的跟踪系统就不准确。从而导致拦截伊拉克飞毛腿导弹的几次失败,其中一枚在沙特阿拉伯的多哈爆炸的飞毛腿导弹造成28名美国士兵死亡1.2为什么要进行软件测试?软件总存在缺陷。只有通过测试,才可以发现软件缺陷。也只有发现了缺陷,才可以将软件缺陷从软件产品或软件系统中清理出去。软件中存在的缺陷给我们带来的损失是巨大的,这也说明了软件测试的必要性和重要性测试是所有工程学科的基本组成单元,自然也是软件开发的重要组成部分。测试人员水平越高,找到软件问题的时间就越早,软件就越容易更正,产品发布之后越稳定,公司赚的钱也越多,微软就是一个典型的例子1.3什么是软件测试?1.3.1软件测试学科的形成1.3.2正反两方面的争辩1.3.3软件测试的定义1.3.4软件测试的其它观点Zhu.Kerry@软件测试的发展历程-1上世纪50年代,英国著名的计算机科学家图灵就给出了软件测试的原始定义:测试是程序正确性证明的一种极端实验形式。60年代前是为了表明程序正确而进行的测试。直到上世纪70年代以后,随着计算机硬件技术的进步与成熟,软件在整个系统中所占的地位越来越重要,软件规模和复杂性大大增加。软件可靠性面临前所未有的危机,给软件测试工作带来了挑战,测试的意义逐渐被人们认识,软件测试的研究开始受到重视。1975年,Goodenough首次提出了软件测试理论,从而把软件测试这一实践性很强的学科提高到理论的高度。软件测试的发展历程-21972年,美国北卡来纳大学召开了首次软件测试技术会议,是软件测试与软件质量研究人员和开发人员的第一次聚会,1973年BillHetzel正式为软件测试下了定义,1983年进行了修改。1979年,(美)梅尔斯,出版《软件的测试艺术》,提出软件测试的目的是证伪。1981年,BillHetzel开设“结构化软件测试”公共课70年代后期-80年代中期,公司逐渐出现了QA部门1996年提出测试能力成熟度模型TCMM(TestingCapabilityMaturityModel)从测试的思想导向来划分为4个阶段1957~1978年,以功能验证为导向,测试是证明软件是正确的(正向思维)。1978~1983年,以破坏性为为导向,测试是为了找到软件中的错误(逆向思维)。1983~1987年,以质量评估为导向,测试是提供产品的评估和质量度量。1988年起,以缺陷预防为导向,测试是为了展示软件符合设计要求,发现缺陷、预防缺陷。更好的阶段划分分为3个阶段——初期阶段、发展阶段和成熟阶段初级阶段(1957~1971)测试通常被认为是对产品进行事后检验,缺乏有效的测试方法发展阶段(1972~1982),1972年第一次关于软件测试的正式会议,促进了软件测试的发展成熟阶段(1983到现在),国际标准Std829-1983,形成一门独立的学科和专业,成为软件工程学科中的一个重要组成部分软件测试的正面性BillHetzel博士(正向思维的代表):
软件测试就是为程序能够按预期设想那样运行而建立足够的信心。“软件测试是一系列活动以评价一个程序或系统的特性或能力并确定是否达到预期的结果”测试是为了验证软件是否符合用户需求,即验证软件产品是否能正常工作软件测试的反面性GlenfordJ.Myers
(反向思维的代表):
测试是为了证明程序有错,而不是证明程序无错误一个好的测试用例是在于它能发现至今未发现的错误一个成功的测试是发现了至今未发现的错误的测试软件测试定义的两面性
评价一个程序或系统的特性或能力并确定是否达到预期的结果测试是为发现错误而针对某个程序或系统的执行过程软件测试正向思维-验证软件正常工作逆向思维-假定软件有错误在设计规定的环境下运行软件的所有功能,直至全部通过。寻找容易犯错误的地方和系统的薄弱环节,试图破坏系统,直至找不出问题。软件测试的定义IEEE的定义
:在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价
分析某个软件项以发现现存的和要求的条件之差别(即错误)并评价此软件项的特性
正确的定义“验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性“有效性确认”是确认所开发的软件是否满足用户真正需求的活动。软件测试是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体证明软件不存在错误?证明软件能够正确完成预定的功能?建立”做了其应该做的”的信心?测试是为发现错误而执行程序的过程你认为测试的目的是什么?软件测试员究竟要做什么?软件测试员的目标是发现缺陷尽可能早的找出缺陷尽可能早的找出缺陷,并确保其得以修复软件测试的准则测试用例中必须对预期输出或结果定义程序员应当避免测试自己的程序编写软件的组织不应当测试自己编写的软件应当彻底检查每个测试的执行结果测试用例的编写不仅应当根据有效和预期的输入情况,而且也应当根据无效和未预料到的输入情况软件测试的准则“未作其应该做的”仅仅是一部分,另一部分是“做了其不应该做的”应避免测试用例用后即弃,除非软件本身是一次性的计划测试工作时不应默许假定不会发现错误程序某部分存在更多错误的可能性与该部分已发现错误的数量成正比软件测试是一项极富创造性,积具智利挑战性的工作软件测试的其它观点软件测试被认为是对软件系统中潜在的各种风险进行评估的活动。基于风险的软件测试可以被看作是一个动态的监控过程,对软件开发全过程进行检测,随时发现问题、报告问题测试的经济观点就是以最小的代价获得最高的软件产品质量。经济观点也要求软件测试尽早开展工作,发现缺陷越早,返工的工作量就越小,所造成的损失就越小。软件测试的基本术语精确和准确:在软件测试中,“准确”指正确的实现功能;要与之区别的一个词是“精确”,“精确”指误差较小
确认和验证:Verification和validati
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年火车站站内档位租凭合同
- 2024图书管理员数据分析能力试题及答案
- 2025年美甲店员工劳动保护及安全协议合同
- 二零二五年度单位食堂食品安全监管合作协议
- 2025年度高科技企业销售公司商业秘密保密协议
- 2025年度红色教育基地研学旅游合作协议
- 二零二五年度新能源技术研发人员薪酬及知识产权保护合同
- 2025年度高空作业安全协议责任书(高空电力线路施工安全协议)
- 二零二五年度旅游服务劳务外包保密合同
- 2025年度生物科技研发经典同借款合同
- 虚拟现实技术在医疗领域的应用
- 唤醒护理读书报告会课件
- 单位消防自我评估报告
- 稀土功能材料及应用
- 竞争性磋商响应文件(投标文件)封面模板
- 思想道德与法治-第一章第一节-人生观是对人生的总看法
- 中宣部直属单位2023年度公开招聘工作人员(共500题含答案解析)笔试必备资料历年高频考点试题摘选
- 提高住院患者痰培养标本留取的合格率品管圈ppt汇报书
- 产科对顺产中会阴侧切率高原因分析品管圈鱼骨图柏拉图
- 【考点链接】使役动词make的用法中考真题和答案解析
- 西安市科学技术协会青年人才托举计划项目申报书
评论
0/150
提交评论