-
>
决战行测5000题(言语理解与表达)
-
>
软件性能测试.分析与调优实践之路
-
>
第一行代码Android
-
>
深度学习
-
>
Unreal Engine 4蓝图完全学习教程
-
>
深入理解计算机系统-原书第3版
-
>
Word/Excel PPT 2013办公应用从入门到精通-(附赠1DVD.含语音视频教学+办公模板+PDF电子书)
软件质量保证.测试与评价 版权信息
- ISBN:9787302158271
- 条形码:9787302158271 ; 978-7-302-15827-1
- 装帧:暂无
- 册数:暂无
- 重量:暂无
- 所属分类:>
软件质量保证.测试与评价 本书特色
本书以规范和应用为视角,系统的涵盖了*新的软件工程的相关标准和规范、软件质量模型与产品评价、软件质量保证与过程改进、软件配置与风险管理、测试过程与测试用例设计、测试自动化与系统性能调优、软件缺陷管理、软件估算和度量等内容,为软件质量保证和软件测试人员提供了一套实用有效的技术和方法。通过本书的学习,读者可以有效提高软件质量保证和软件测试与评价的实践能力。
本书作为“十一五”全国工程硕士研究生教育核心教材,并可供从事软件质量保证、软件测试、软件工程管理的技术人员使用,也可作为高校计算机专业师生的参考用书。
软件质量保证.测试与评价 目录
1.1 软件复用技术
1.2 软件过程改进和能力熟度模型
1.3 软件测试技术
1.4 软件评价技术
1.5 软件质量相关标准
1.6 基于知识复用的软件测评相关技术
1.7 软件质量面临的任务
第2章 软件质量模型与应用
2.1 软件质量
2.2 软件质量标准
2.2.1 外部质量和内部质量模型
2.2.2 使用质量的质量模型
2.3 软件产品质量模型的应用
2.3.1 使用的建议
2.3.2 质量模型的GBQA应用框架
2.3.3 软件质量度量的基本基和扩展基
2.3.4 举例:中间软件的基本基和扩展基
第3章 软件生存周期与过程体系
3.1 软件生存周期模型概念
3.2 过程标准
3.2.1 GB/T 8566《信息技术 软件生存周期过程》
3.2.2 CMM/CMMI、ISO/IEC 15504和SJ/T 11234与11235标准
3.2.3 ISO 9001和ISO 9000-9标准
3.2.4 CMM与ISO 9000标准体系的比较
第4章 软件质量保证技术
4.1 文档编制
4.1.1 文档编制过程
4.1.2 文档编制中的考虑因素
4.2 质量保证
4.2.1 质量保证计划
4.2.2 产品保证
4.2.3 过程保证
4.3 验证
4.3.1 验证的过程
4.3.2 验证的任务
4.4 确认
4.5 联合评审
4.5.1 项目管理评审
4.5.2 技术评审
4.5.3 评审的方法
4.5.4 评审举例——项目计划评审
4.6 审计
4.6.1 审计的对象与分类
4.6.2 审计的过程与方法
4.7 问题解决
4.8 需求变更控制
4.8.1 需求不确定性与解决途径
4.8.2 需求变更管理过程
4.8.3 需求跟踪管理
第5章 软件配置管理
5.1 软件配置管理概念
5.2 配置控制委员会
5.3 配置管理过程
5.3.1 编制配置管理计划
5.3.2 配置标识
5.3.3 配置控制——变更控制程序
5.3.4 配置状态统计
5.3.5 配置评价
5.3.6 发布管理和交付
第6章 风险管理
第7章 软件测试过程与技术
第8章 软件测试样式和测试用例
第9章 软件验收和测试
第10章 软件测试自动化技术
第11章 软件性能测试技术
第12章 面向应用的测试技术
第13章 软件缺陷管理技术
第14章 软件估量计算和度量
第15章 软件产品评价
第16章 软件过程改进
附录A 本书主要参考技术标准
附录B 本书主要参考文献
附录C 相关测试网站
软件质量保证.测试与评价 节选
br />
软件质量具有功能性、可靠性、易用性、效率、维护性和可移植性6个特性,可从软件的
内部质量、外部质量和使用质量三个视角去考量。软件质量保证就是要求把质量嵌入到软
件开发的生命周期全过程中,以保证软件的“生产”质量;软件测试是软件质量保证的一个
关键手段,又是软件产品发布前的*终检验;对软件产品质量的评价是以量化的方式说明
软件质量的程度。因此,软件质量保证、测试与评价三方面的内容是一个相互关联的体系。
鉴于此,并在上海实施了“软件质量专业技术职业资格”的培训与资格考试专家组的工作基
础上,由于杨根兴教授长期从事软件质量保证、测试与评价研究和实践工作,因此,以他为主
编写此书确可担当。该书主要特点如下。
1.创新与继承相结合
软件质量随着软件工程学科的不断发展而推陈出新,该书内容既论述了行之有效的质
量保证方法和技术,也在实践经验基础上总结出一些重要内容,如风险管理、软件缺陷管理、
测试用例的复用和面向应用的测试等。
2.规范与整体相结合
通过对GB/T 16260、8566、17544、CMU/SEI CMMI等国家和国际标准的学习和研究,
运用了这些标准中相关概念和过程的规范描述。既具有标准的依从性,又有从软件质量保
证和软件测试两个方面较为深入和详细地进行了阐述,形成了一个较为完整的体系。
3.技术与管理相结合
软件质量保证的实践活动大多需在软件企业中进行,虽然技术十分重要,而管理也非常
重要。该书内容既论述技术和方法,也阐述了软件测试管理的内容和方法。在软件质量保
证中,管理同样会出效益,也会出质量。
4.理论与实践相结合 ‘
任何理论的存在,必有其实践背景。软件质量从重要性来讲,实践经验是**位的。该
书从不同的侧面反映了我国在软件质量方面的研究成果和实践经验,使之理论和实践均能
兼顾和融合。
以我毕生研究软件质量的经验,软件质量的保证与测试、评价是一大难题,特别是要提
出一套符合中国文化理念的方法有待时日,尚需不断努力。因此,我们必须培养更多的软件
质量保证和软件测试人才,共同努力,为中国软件产业的发展作出积极的贡献。
该书的出版,将会有益于读者掌握一门重要的技艺,有益于推动软件质量保证与测试业
的研究、教学、实践的进一步发展,有益于助推我国软件业的发展。
来三元
2007年9月于上海
前言
软件质量问题是一个热点问题,因为它涉及软件开发的进度、成本和上市的时间。随着
计算机硬件成本的急速下降和网络应用的快速发展,软件应用的需求呈爆炸趋势,随之而来
的软件质量问题日益突出。正如美国关键软件问题研究的著名专家Capers所指出的:“软
件对于现代世界是如此重要,寻找降低失败概率并提高成功概率的途径,对于所有大型企业
来说都是很有价值的。”
从20世纪90年代至今,一个显著特点是提高软件质量、降低开发成本和缩短开发周期
成为软件业界关注的焦点,软件过程改进成为软件工程学科的一个主流方向。
有人问,“为什么我们一直在努力,但软件质量却徘徊不前?”可以用联想集团总裁柳传
志的话作一个精辟的诠释:“光说不练是假把式,光练不说是傻把式,又练又说是真把式。”
软件工程研究产生了丰硕的成果,为每一个软件组织提供了可以借鉴使用的有效方法,问题
是看人们如何去使用,是真用还是假用。
本书从提高软件质量的过程改进和测试与评价两个主要途径出发,以规范和应用为视
角,讨论了软件过程质量保证、软件测试与评价的相关技术和方法。集中反映了近年来在
软件质量保证和测试评价领域技术与方法的*新发展,以作者近年来参与制订和修改的
GB/T 8566、16260、17544、18905等国家标准为指南,结合作者近年来在软件质量保证和软
件测试领域的研究成果和取得的相关经验,比较系统地介绍了相关技术和有效的方法。全
书分为16章,内容包括:第1章绪论;第2章软件质量模型与质量属性;第3章软件生命
周期与过程体系、第4章软件质量保证技术、第5章软件配置管理;第6章软件风险管理;第
7章软件测试过程与技术;第8章软件测试样式和测试用例;第9章软件验收测试;第10章
软件测试自动化技术;第ll章软件性能测试;第12章面向应用的测试技术;第13章软件缺
陷管理技术;第14章软件估算和度量;第15章软件产品评价和第16章软件过程改进。
本书的完成,除了以下说明的之外,均由杨根兴执笔完成。本书的合作者,蔡立志博士
(高级工程师)执笔完成了第10、11章和第13章的内容,陈昊鹏博士后执笔完成了第12章。
另外在编写过程中,冯惠(高级丁程师)和王凌对本书第15章的编写作出了贡献,沈备军、李
婷和李雪静对本书第3、4、14章的编写作出了贡献。杨根兴负责了对全书的统稿。
在本书完成之际,特别要感谢我国软件工程界的前辈朱三元研究员,他严谨的治学精神
和渊博的知识,给予了作者全面的指导。
感谢上海市人事局、上海市科学技术委员会和上海市质量技术监督局从2003年起在上
海实施的“软件质量专业技术职业资格”的培训与资格考试,以及发布的《上海市软件质量专
业技术职业资格暂行规定(沪人[2003]106号文)》,为作者提供了积累经验和实践的机会。
感谢上海交通大学软件学院、上海计算机软件技术开发中心、上海市计算机软件评测重点实
验室给予的大力支持。
这是一本实践性比较强的书。本书的取材来源非常广泛,除了作者自身的研究成果和
实践经验以外,还来自众多的专家、企业的研究成果和经验,以及在网站上公开发表的内容。
作者除了对在本书参考文献中列出的作者表示衷心感谢以外,还要对可能未列出的作者表
示感谢。
关于本书使用的建议:如果作为软件质量保证课程的使用,可以选择第1、2、3、4、5、6、
14、15和16章的内容;如果作为软件测试与验证课程的使用,可以选择第1、2、6、7、8、9、
10、11、12和13章的内容。
本书难免存在许多不足和不当之处,希望读者批评指正。
杨根兴
2007年9月
软件测试自动化技术
软件测试是一项繁重复杂的工作,测试T作量通常占软件开发过程总丁作量的40%以
上,一些高可靠性的软件,测试时间甚至占到总开发时间的60%。软件巨头微软,专业测试
人员是专业开发人员的1.5~2.5倍,测试投入的工作量远大于开发的工作量。软件测试,
无论黑盒测试还是白盒测试都具有大量的重复操作,计算机学科发展至今,它*根本的意义
是解决人类手T劳动的复杂性,成为替代人类某些重复性行为模式的*佳工具。代码的动
态白盒分析,如多线程错误检测、内存泄漏、语句性能分析等,没有必要也不可能使用手工测
试来进行。同时测试人员的工作比以往任何时候都更加困难,因为公司和组织希望以更快
的速度和更低的成本开发出高质量的应用程序。在使用手工测试的大型项目中,测试团队
和其他的团队之间没有足够的合作,无法促进彼此的工作。软件测试的自动化在提高软件
产品的质量、减少软件成本和缩短软件开发周期等方面带来了非常显著的效果。
本章将主要介绍软件测试自动化的概念、自动化测试的特点和使用时机、自动化测试的
原理和技术、自动化测试工具的实现原理等。
10.1 自动化测试概述
软件测试自动化是相对手丁测试而言的。手工测试是测试人员按照事先确定好的顺序
去执行操作。不断重复的工作繁琐且成本高,增加劳动强度的同时,测试人员的T作本身也
易产生错误。
自动化测试不需要人为的干预来执行一系列的动作。这种方法可帮助消除人为的错
误并且可以更快地产生结果。尽管自动化测试在测试过程的初期需要花费比人工测试
更多的时间和精力,但随着测试的深入,这些付出与其效果相比是非常微小的。因此可
以认为自动化测试实际是通过较少的开销获得更彻底的测试,*终为提高软件产品的质
(5)验收测试问题报告。
可根据需要对上述文档及文档的内容进行增加或裁剪。
9.6非正式验收测试
事实上,进行验收测试的常用策略有3种,分别如下:
(1)正式验收测试;
(2)a测试;
(3)β测试。
本章的9.1~9.5节阐述了正式验收测试的要求、方法和步骤。本节把α、β测试作为非
正式验收测试进行介绍。事实上,软件开发人员不可能完全预见用户实际使用程序的情况。
例如,用户可能错误地理解命令,或提供一些奇怪的数据组合,也可能对设计者自认为明了
的输出信息迷惑不解等。
因此,软件是否真正满足*终用户的要求,应由用户进行一系列的“验收测试”。一个软
件产品,可能拥有众多用户,不可能由每个用户验收,此时可采用称为α、β测试的过程,以发
现那些似乎只有*终用户才能发现的问题。
α测试是指在软件开发组织内部,由用户代表或内部人员模拟各类用户对即将交付的
软件产品(称为α版本)进行测试,试图发现错误并修正。α测试的关键在于尽可能逼真地
模拟实际运行环境和用户对软件产品的操作,并尽*大努力涵盖所有可能的用户操作方式。
在进行α测试时,有开发人员在场,可以对执行α测试的人员进行指导,协助完成相关的操
作。开发人员应记录α测试人员提出的问题,并判断其合理性,然后进行相应的修改或
调整。
经过α测试调整的软件产品称为β版本。β测试是指开发组织选择典型用户,让他们
在日常工作中按照使用说明,实际运行使用B版本,并要求用户报告异常情况,提出改进意
见。然后软件开发人员再对β版本进行修改和完善。进行p测试时,开发人员不在用户使
用的现场,因此发现的问题更具有真实性。
大多数情况下,非正式验收测试是由*终用户组织执行的,通常称为系统试运行。与正
式验收测试相比,可以发现更多由于主观原因造成的缺陷。软件的易用性是用户的一种使
用习惯和感受,只有当用户使用以后才知道;用户的业务流程,也只有在用户使用需求的驱
动下,才能真正得到验证。这就是为什么人们在执行验收测试时,必须设计和执行用户场景
测试的原因。
量提供服务。
10.1.1 自动化测试的概念
自动化测试利用软件测试下具提供完整的软件测试流程支持,实现各种测试的自动化。
自动化测试具有可重现性好、效率高、可消除人为错误、自动产生测试报告等优点,测试技术
的自动化已经成为软件测试发展的重要趋势。
传统的手工测试具有一些无法克服的缺点,具体如下。
(1)手工测试无法做到覆盖所有代码路径;简单的功能性测试用例在每一轮测试中都
不能少,而且具有一定的机械性、重复性,下作量往往较大。
(2)许多与时序、死锁、资源冲突、多线程等有关的错误,通过手丁测试很难捕捉到。
(3)进行系统负载、性能测试时,需要模拟大量数据或大量并发用户等各种应用场合
时,很难通过手工测试来进行。
(4)进行系统可靠性测试时,需要模拟系统运行十年、几十年的业务量,以验证系统能
否稳定运行,这也是手工测试无法模拟的。
(5)如果有大量(几千)的测试用例,需要在短时间内(1天)完成,手工测试几乎不可能
做到。
相对于手工测试而言,自动化测试具有一些手工测试无法比拟的优点,具体如下。
(1)可以缩短软件开发测试周期,让产品更快投放市场。对程序的新版本运行已有的
测试(回归测试),这是自动化测试*主要的用途,使用在程序的上一个版本上已经运行过了
的自动化测试程序,可以使测试工作快速进行,减小测试的开销。
(2)测试效率高,充分利用硬件资源;节省人力资源,降低测试成本;将繁琐的任务自
动化,如重复相同的测试输入,可以提高准确性,将测试人员解脱出来使其投入更多精力设
计更好的测试用例。并且,还可以利用夜间或周末空闲的计算机执行自动化测试。
(3)增强测试的稳定性和可靠性,提高软件测试的准确度和精确度,增加软件信任度;
软件测试工具使测试工作相对比较容易,且能产生更高质量的测试结果;自动化测试可以
重复多次相同的测试(至少输人相同,由于时间不同输出可能不同)。这样就可以获得测试
的一致性,这在手T测试中是很难保证的。有些测试可能在不同的硬件配置下执行,使用不
同的操作系统或不同的数据库,此时要求多平台产品的跨平台质量的一致性,这在手工测试
情况下更不可能做到。
(4)手工不能做的事情,自动化测试能做,如负载、性能测试。例如对于多用户联机系
统的并发操作的测试,用手丁进行测试几乎是不可能的,但自动化测试工具可以模拟来自多
个用户的输入。而客户端的测试过程通过自定义得到用户脚本,自动回放测试。使不了解
整个商业应用复杂内容的技术人员也可以胜任。
- >
龙榆生:词曲概论/大家小书
龙榆生:词曲概论/大家小书
¥13.0¥24.0 - >
史学评论
史学评论
¥22.7¥42.0 - >
名家带你读鲁迅:故事新编
名家带你读鲁迅:故事新编
¥15.5¥26.0 - >
我与地坛
我与地坛
¥16.5¥28.0 - >
月亮虎
月亮虎
¥14.4¥48.0 - >
中国人在乌苏里边疆区:历史与人类学概述
中国人在乌苏里边疆区:历史与人类学概述
¥34.1¥48.0 - >
罗庸西南联大授课录
罗庸西南联大授课录
¥20.2¥32.0 - >
山海经
山海经
¥19.7¥68.0
-
详解Spring Boot(从入门到企业级开发实战)/孙鑫精品图书系列
¥64.2¥129 -
PYTHON应用与实战
¥52.9¥79.8 -
Python编程与数值方法
¥79.6¥109 -
Go语言从入门到项目实战(视频版)
¥60.4¥108 -
软件设计师
¥14.2¥38 -
GO语言编程从入门到实践
¥75.6¥108