您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
搜索
热搜:
磁力片
|
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
软件测试:一个软件工艺师的方法(原书第5版)
字数: 662
出版社: 机械工业
作者: [美]保罗·C. 乔根森(Paul C.Jorgensen),[美]拜伦·德弗里斯(Byron DeVries)
商品条码: 9787111752639
版次: 1
开本: 16开
页数: 404
出版年份: 2024
印次: 1
定价:
¥129
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
加入书单
收藏
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥21.56
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
内容简介
本书是经典的软件测试教材,综合阐述了软件测试的基础知识和方法,既涉及基于模型的开发,又介绍了测试驱动的开发,做到了理论与实践的完美结合,反映了软件标准和开发的新进展。作者拥有丰富的软件开发和测试领域的教学和研发经验,他在书中借助精心挑选的实例,把软件测试理论与实践紧密结合,讲解循序渐进、层次分明,便于读者理解。
作者简介
保罗·C. 乔根森(Paul C. Jorgensen) 软件工程领域的知名学者,大峡谷州立大学荣休教授,在软件产业界和教育界拥有50多年的从业经验。在职业生涯的前20年中,他主要从事工业软件开发和管理工作。1986年以来,他一直在大学为研究生讲授软件工程课程并进行相关研究。除本书外,他还著有The Craft of Model-Based Testing和Modeling Software Behavior:A Craftsman's Approach等书籍,在程序员中影响甚广。<br /><br />拜伦·德弗里斯(Byron DeVries) 大峡谷州立大学助理教授,为本科生和研究生讲授软件工程课程。之前曾从事航空电子软件开发工作长达十多年,拥有丰富的软件验证经验。曾获大峡谷州立大学“杰出青年学者”奖。<br /><br />
目录
目 录<br />Software Testing: A Craftsman’s Approach, Fifth Edition<br /><br />译者序<br />前言<br />作者简介<br />第一部分 数学背景<br />第1章 测试概览2<br />1.1 基本定义2<br />1.2 测试用例3<br />1.3 测试的Venn图4<br />1.4 确定测试用例5<br />1.4.1 基于规范的测试5<br />1.4.2 基于代码的测试6<br />1.4.3 基于规范和基于代码之争7<br />1.5 错误的分类8<br />1.6 测试级别9<br />1.7 习题10<br />1.8 参考文献10<br />第2章 案例11<br />2.1 伪代码和Java的结构元素11<br />2.2 三角形问题14<br />2.2.1 问题描述14<br />2.2.2 问题分析15<br />2.2.3 Java实现15<br />2.3 NextDate程序16<br />2.3.1 问题描述16<br />2.3.2 问题分析16<br />2.3.3 Java实现16<br />2.4 “美食家”在线购物系统19<br />2.4.1 问题描述20<br />2.4.2 问题分析20<br />2.5 车库门控制系统23<br />2.6 习题中的案例23<br />2.6.1 四边形程序24<br />2.6.2 NextWeek程序24<br />2.6.3 雨刷控制器24<br />2.7 习题25<br />2.8 参考文献25<br />第3章 软件测试的离散数学基础27<br />3.1 集合论27<br />3.1.1 集合中的元素27<br />3.1.2 集合的定义27<br />3.1.3 空集28<br />3.1.4 Venn图29<br />3.1.5 集合运算29<br />3.1.6 集合关系31<br />3.1.7 集合划分31<br />3.1.8 集合恒等式32<br />3.2 函数32<br />3.2.1 定义域和值域33<br />3.2.2 函数类型33<br />3.2.3 函数组合34<br />3.3 关系34<br />3.3.1 集合间关系35<br />3.3.2 单集合关系36<br />3.4 命题逻辑37<br />3.4.1 逻辑运算符38<br />3.4.2 逻辑表达式38<br />3.4.3 逻辑等价39<br />3.4.4 概率论39<br />3.5 习题41<br />3.6 参考文献41<br />第4章 软件测试的图论基础42<br />4.1 图42<br />4.1.1 节点的度43<br />4.1.2 关联矩阵43<br />4.1.3 邻接矩阵43<br />4.1.4 路径44<br />4.1.5 连通性45<br />4.1.6 压缩图45<br />4.1.7 环数45<br />4.2 有向图46<br />4.2.1 入度和出度47<br />4.2.2 节点类型47<br />4.2.3 有向图的邻接矩阵47<br />4.2.4 路径和半路径48<br />4.2.5 可达矩阵48<br />4.2.6 n-连通49<br />4.2.7 强连通分量49<br />4.3 测试中的图50<br />4.3.1 程序图50<br />4.3.2 有限状态机51<br />4.3.3 Petri网53<br />4.3.4 事件驱动的Petri网54<br />4.3.5 状态图57<br />4.4 习题58<br />4.5 参考文献59<br />第二部分 单元测试<br />第5章 边界值测试62<br />5.1 常规边界值测试63<br />5.1.1 通用边界值分析63<br />5.1.2 边界值分析的局限性64<br />5.2 鲁棒边界值测试65<br />5.3 最坏情况边界值测试65<br />5.4 特殊值测试66<br />5.5 案例67<br />5.5.1 三角形问题的测试用例67<br />5.5.2 NextDate程序的测试用例68<br />5.6 随机测试72<br />5.7 边界值测试指南74<br />5.8 习题75<br />第6章 等价类测试76<br />6.1 等价类76<br />6.2 传统等价类测试76<br />6.3 改进的等价类测试77<br />6.3.1 弱等价类测试78<br />6.3.2 强等价类测试79<br />6.3.3 弱鲁棒等价类测试79<br />6.3.4 强鲁棒等价类测试80<br />6.4 三角形问题的等价类测试用例81<br />6.5 NextDate函数的等价类测试用例82<br />6.6 completeOrder方法的等价类<br />测试用例85<br />6.7 边缘测试87<br />6.8 关于无效等价类87<br />6.9 等价类方法的使用指南88<br />6.10 习题88<br />6.11 参考文献89<br />第7章 基于决策表的测试90<br />7.1 决策表90<br />7.2 决策表技术91<br />7.3 三角形问题的测试用例94<br />7.4 NextDate函数的测试用例95<br />7.4.1 第一轮测试95<br />7.4.2 第二轮测试96<br />7.4.3 第三轮测试97<br />7.5 因果图100<br />7.6 基于决策表测试的指南100<br />7.7 习题101<br />7.8 参考文献101<br />第8章 基于代码的测试102<br />8.1 程序流程图102<br />8.2 DD路径104<br />8.3 代码覆盖105<br />8.3.1 基于程序流程图的覆盖105<br />8.3.2 Miller的覆盖106<br />8.3.3 剖析组合条件109<br />8.3.4 案例111<br />8.4 基本路径测试123<br />8.4.1 McCabe的基本路径法123<br />8.4.2 McCabe基本路径测试的观察125<br />8.4.3 基本复杂度125<br />8.5 基于代码测试的指南127<br />8.6 习题128<br />8.7 参考文献128<br />第9章 面向对象软件测试130<br />9.1 单元测试框架130<br />9.1.1 通用的单元测试框架130<br />9.1.2 JUnit131<br />9.2 模拟对象和自动对象模拟133<br />9.3 数据流测试135<br />9.3.1 定义-使用测试的定义135<br />9.3.2 定义-使用测试度量136<br />9.3.3 定义-使用测试的例子137<br />9.4 面向对象的复杂度度量144<br />9.4.1 类中方法权重144<br />9.4.2 继承树深度144<br />9.4.3 子类个数144<br />9.4.4 类间耦合度144<br />9.4.5 类的响应145<br />9.4.6 内聚性缺失145<br />9.5 面向对象软件测试中的问题145<br />9.5.1 组合和封装的含义145<br />9.5.2 继承的含义145<br />9.5.3 多态的含义146<br />9.6 基于切片的测试技术151<br />9.6.1 案例152<br />9.6.2 类型和技术157<br />9.6.3 切片拼接157<br />9.6.4 程序切片具158<br />9.7 习题158<br />9.8 参考文献159<br />第10章 回顾单元测试160<br />10.1 测试方法的钟摆160<br />10.2 横摆162<br />10.2.1 基于程序流程图的测试165<br />10.2.2 基本路径测试165<br />10.2.3 数据流测试166<br />10.2.4 基于切片的测试167<br />10.2.5 边界值测试168<br />10.2.6 等价类测试169<br />10.2.7 决策表测试169<br />10.3 保险费问题的案例171<br />10.4 基于规范的测试171<br />10.4.1 基于代码的测试175<br />10.5 指南177<br />10.6 习题178<br />10.7 参考文献178<br />第三部分 超越单元测试<br />第11章 基于生命周期的测试180<br />11.1 传统的瀑布测试180<br />11.1.1 瀑布测试181<br />11.1.2 瀑布模型的利和弊181<br />11.2 在迭代生命周期中实施测试182<br />11.2.1 瀑布模型的细分182<br />11.2.2 基于需求规格说明的生命周<br />期模型183<br />11.3 敏捷测试185<br />11.3.1 用户故事186<br />11.3.2 极限编程192<br />11.3.3 Scrum编程192<br />11.3.4 测试驱动开发193<br />11.3.5 敏捷的模型驱动开发194<br />11.3.6 模型驱动的敏捷开发195<br />11.4 遗留问题196<br />11.4.1 基于需求还是基于代码196<br />11.4.2 配置管理196<br />11.4.3 粒度196<br />11.5 TDD的优劣之处和开放性问题196<br />11.6 回顾MDD和TDD197<br />11.7 参考文献199<br />第12章 集成测试200<br />12.1 基于分解的集成200<br />12.1.1 自顶向下的集成203<br />12.1.2 自底向上的集成204<br />12.1.3 三明治集成204<br />12.1.4 利弊分析205<br />12.2 基于调用关系图的集成205<br />12.2.1 成对集成206<br />12.2.2 邻域集成207<br />12.2.3 利弊分析209<br />12.3 基于路径的集成210<br />12.3.1 新扩展的概念210<br />12.3.2 MM路径的复杂度212<br />12.3.3 利弊分析212<br />12.4 案例:integrationNextDate程序<br />的过程集成213<br />12.4.1 基于分解的集成217<br />12.4.2 基于调用图的集成218<br />12.4.3 基于MM路径的集成218<br />12.4.4 分析和建议218<br />12.5 案例:integrationNextDate<br />程序的O-O集成219<br />12.6 基于模型的集成测试225<br />12.6.1 消息通信机制226<br />12.6.2 成对集成226<br />12.6.3 有限状态机/消息<br />路径集成229<br />12.6.4 场景1:创建正常账户229<br />12.7 习题231<br />12.8 参考文献232<br />第13章 系统测试233<br />13.1 线索233<br />13.1.1 线索可能性234<br />13.1.2 线索定义234<br />13.2 在单处理器应用中识别线索235<br />13.2.1 用户故事/使用用例235<br />13.2.2 需要多少使用用例237<br />13.2.3 有限状态机中的线索241<br />13.2.4 原子系统功能244<br />13.3 识别系统的系统中的线索245<br />13.3.1 对话245<br />13.3.2 FSM之间的通信246<br />13.3.3 作为ASF序列的对话248<br />13.4 系统级测试用例248<br />13.4.1 一个企业级测试执行系统248<br />13.4.2 从使用用例到测试用例249<br />13.4.3 从有限状态机路径到测<br />试用例251<br />13.4.4 从对话场景到测试用例251<br />13.4.5 有限状态机和测试用例<br />之间的联系251<br />13.5 系统测试的覆盖度量252<br />13.5.1 基于使用用例的测试覆盖253<br />13.5.2 基于模型的测试覆盖255<br />13.6 长测试用例和短测试用例257<br />13.6.1 系统测试的补充方法261<br />13.6.2 操作剖面262<br />13.7 非功能系统测试268<br />13.7.1 压力测试策略269<br />13.7.2 数学方法270<br />13.8 习题271<br />13.9 参考文献271<br />第14章 基于模型的测试272<br />14.1 基于模型的测试概述272<br />14.2 适合的模型272<br />14.2.1 Peterson格273<br />14.2.2 主流模型的表达能力274<br />14.2.3 建模的注意事项274<br />14.2.4 做出合适的选择275<br />14.3 支持基于模型测试的商业工具276<br />14.3.1 TestOptimal276<br />14.3.2 Conformiq277<br />14.3.3 国际GmbH验证系统280<br />14.4 习题281<br />14.5 参考文献284<br />第15章 软件复杂度285<br />15.1 单元级复杂度285<br />15.1.1 环复杂度285<br />15.1.2 计算复杂度288<br />15.2 集成级复杂度291<br />15.2.1 集成级的环复杂度292<br />15.2.2 消息交互复杂度293<br />15.3 软件复杂度案例293<br />15.4 面向对象的复杂度294<br />15.4.1 类中方法权重295<br />15.4.2 继承树深度295<br />15.4.3 子类个数295<br />15.4.4 类间耦合度295<br />15.4.5 类的响应295<br />15.4.6 内聚性缺失295<br />15.5 系统级复杂度296<br />15.5.1 源代码的环复杂度296<br />15.5.2 规范模型的复杂度296<br />15.5.3 使用用例的复杂度296<br />15.5.4 UML的复杂度297<br />15.6 习题297<br />15.7 参考文献299<br />第16章 测试系统的系统300<br />16.1 SoS的特点 300<br />16.2 SoS的示例 302<br />16.2.1 车库门控制系统—<br />有监管的SoS302<br />16.2.2 空中交通管理系统—<br />公认的SoS302<br />16.2.3 “美食家”在线购物系统303<br />16.3 SoS的软件工程 304<br />16.3.1 背景需求304<br />16.3.2 使用UML术语的需求<br />规格说明304<br />16.3.3 测试307<br />16.4 SoS的通信原语308<br />16.4.1 将ESML指令用于Petri网308<br />16.4.2 泳道Petri网的新指令 310<br />16.5 SoS的指令效果313<br />16.5.1 有监管的和公认的SoS 313<br />16.5.2 协作的和事实上的SoS313<br />16.6 习题313<br />16.7 参考文献314<br />第17章 特征交互测试315<br />17.1 定义特征交互问题 315<br />17.2 特征交互的类型 317<br />17.2.1 输入冲突318<br />17.2.2 输出冲突320<br />17.2.3 资源冲突321<br />17.3 交互的分类 321<br />17.3.1 单处理器静态交互322<br />17.3.2 多处理器静态交互323<br />17.3.3 单处理器动态交互 324<br />17.3.4 多处理器动态交互326<br />17.4 交互、组合和确定性327<br />17.5 习题328<br />17.6 参考文献328<br />第18章 案例研究:测试事件驱动<br />的系统329<br />18.1 车库门控制系统的问题描述 329<br />18.2 行为驱动开发建模330<br />18.3 扩展的有限状态机建模331<br />18.3.1 从BDD场景派生有限状态机331<br />18.3.2 有限状态机的自顶向下开发333<br />18.4 使用泳道事件驱动Petri<br />网建模336<br />18.4.1 正常关闭车库门337<br />18.4.2 突然停止关闭车库门 338<br />18.4.3 光束打断正在关闭的<br />车库门 338<br />18.4.4 开门的交互339<br />18.5 从泳道事件驱动的Petri网派生<br />测试用例341<br />18.6 失效模式事件分析341<br />18.7 习题346<br />18.8 参考文献346<br />第19章 结对测试法347<br />19.1 结对测试技术347<br />19.1.1 程序输入348<br />19.1.2 独立变量349<br />19.1.3 输入顺序 351<br />19.1.4 仅因为输入对造成<br />的失效 354<br />19.2 细看NIST研究354<br />19.3 适合结对测试技术的应用 355<br />19.4 关于结对测试的建议356<br />19.5 习题356<br />19.6 参考文献356<br />第20章 软件的技术评审357<br />20.1 软件评审的经济性357<br />20.2 评审的类型358<br />20.2.1 走查359<br />20.2.2 技术评审359<br />20.2.3 审核359<br />20.2.4 评审类型的对比360<br />20.3 评审中的角色360<br />20.3.1 制作者360<br />20.3.2 评审组长360<br />20.3.3 记录员361<br />20.3.4 评审员361<br />20.3.5 角色的交叉361<br />20.4 评审包的内容361<br />20.4.1 工作产品的需求361<br />20.4.2 固定版本的工作产品362<br />20.4.3 标准和检查单362<br />20.4.4 评审记录表362<br />20.4.5 评审报告表363<br />20.4.6 错误严重等级364<br />20.4.7 评审报告大纲364<br />20.5 一种工业级评审过程364<br />20.5.1 组织计划365<br />20.5.2 介绍评审员366<br />20.5.3 准备366<br />20.5.4 评审会议366<br />20.5.5 准备报告367<br />20.5.6 问题处理367<br />20.6 有效的评审文化367<br />20.6.1 评审会议规范367<br />20.6.2 参与会议的管理层38<br />20.6.3 两个关于评审的故事368<br />20.7 评审的案例369<br />20.8 参考文献370<br />第21章 结语:卓越的软件测试371<br />21.1 工艺师371<br />21.2 软件测试的最佳实践372<br />21.3 十大优秀测试项目373<br />21.3.1 认真的技术评审373<br />21.3.2 测试级别的定义和识别373<br />21.3.3 所有级别的基于模型<br />的测试373<br />21.3.4 系统测试扩展373<br />21.3.5 用于指导回归测试的<br />关联矩阵373<br />21.3.6 单元级测试中使用xUnit<br />和模拟对象374<br />21.3.7 基于规范和基于代码的单元<br />级测试的智能结合374<br />21.3.8 在所有测试级中使用合适<br />的工具374<br />21.3.9 维护阶段的探索性测试374<br />21.3.10 测试驱动开发374<br />21.4 不同项目的最佳实践374<br />21.4.1 任务关键型项目375<br />21.4.2 时间关键型项目375<br />21.4.3 对继承代码的纠正性维护375<br />21.5 一个极端的例子375<br />21.6 参考文献376<br />附录A 完整的技术审查包377<br />附录B “美食家”在线购物系统387<br />
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网