基本信息
- 作者: [美]保罗·C. 乔根森(Paul C. Jorgensen)
- 丛书名: 计算机科学丛书
- 出版社:机械工业出版社
- ISBN:9787111628989
- 上架时间:2019-7-12
- 出版日期:2019 年6月
- 开本:16开
- 页码:280
- 版次:1-1
- 所属分类:计算机 > 软件工程及软件方法学 > 软件方法/软件工程

内容简介
作译者
保罗·C. 乔根森(Paul C.Jorgensen) 软件工程领域的知名学者,大峡谷州立大学荣誉退休教授,在软件产业界和教育界拥有50多年的从业经验。在职业生涯的前20年中,他主要从事工业软件开发和管理工作。1986年以来,他一直在大学为研究生讲授软件工程课程并进行相关研究。他著有《Software Testing:A Craftsman''s Approach》和《Modeling Software Behavior:A Craftsman''s Approach》等书籍,在程序员中影响甚广。
---译者简介---
王轶辰 北京航空航天大学可靠性与系统工程学院副教授,硕士研究生导师,主要研究方向为软件可靠性技术与软件验证技术,曾获得国防科技进步一等奖。
王轶昆 计算机专业硕士,具有ISTQB的TA、TTA、TM证书,担任中国软件测试认证委员会测试自动化专业组组长、安全性测试专业组专家、汽车软件测试和质量保障组专家。
曹志钦 北京航空航天大学可靠性与系统工程学院硕士研究生,研究方向为软件可靠性与软件测试技术。
目录
The Craft of Model-Based Testing
出版者的话
译者序
前言
致谢
作者简介
第一部分 基于模型测试的模型理论
第1章 基于模型测试概述 2
1.1 基本术语 2
1.2 事件 3
1.3 测试用例 4
1.4 测试用例的执行框架 4
1.5 MBT中的模型 4
1.6 ISTQB中的MBT扩展 5
1.7 MBT的形式 5
1.8 案例集 5
1.8.1 单元级问题:保费计算 5
1.8.2系统级问题:车库门控系统 6
1.8.3 其他案例 7
前言
The Craft of Model-Based Testing
首先是免责声明:我所使用的“工匠”和“工匠精神”这两个词是完全中性的,无意冒犯任何人。我相信,基于模型的测试(MBT)技术能够成为也应该成为一门手艺,而非艺术。工匠精神包含3个关键部分:对物料的深入理解,选择合适工具的能力,以及使用这些工具的经验。工具与手艺之间的关系是很有趣的,一个工匠就算使用很破旧的工具也能做出让人满意的产品,但一个新手就算使用精妙的工具也制作不出好产品。对于MBT这门手艺来说,这一点尤其如此。
除了软件测试之外,我个人最喜欢的手艺是木工活。作为一门手艺来说,木工需要了解物料,也就是木头。不同的木头有不同的特质,了解这些特质的木工才能做出正确的选择。枫木非常坚硬,需要非常锋利的工具;松木则很软,而且很容易塑型。我最喜欢的木头是樱桃木,它虽然不像枫木或者橡木那样坚硬,但是它有非常漂亮的花纹,而且好用。工具部分就更明显了。拿手锯来说吧,一个工匠可以有横切锯和粗木锯,有镶边手锯、轴锯箱、钢丝锯,也许还有些特制的日本锯用来进行更精细的切割。每一样工具都有某一种特殊的用途,没有一把锯能够符合所有的要求。但仅有工具是远远不够的。未来的工匠必须知道如何使用这些工具来达到自己的目的。此时经验就发挥作用了。在我看来,也许史上练就手艺的最好方法是学徒制,包括学徒期和熟练工时期,最终是大师级的工匠。整个学徒过程的核心是,在成为一个公认的、值得信赖的工匠之前,一个人必须经过长期的、受督导的学习历程。
上述内容与MBT有何关系呢?MBT中,类似工匠的角色有哪些呢?物料,也就是被测软件或者被测系统。它们简单的区别在于,软件可能是转换类型的或者交互类型的。类型不同将影响如何选择合适的MBT工具。
MBT工具包括用于描述软件的模型,在书中第一部分会涵盖这些内容。能够生成并且可能运行从模型派生出来的测试用例的商用或开源产品,会在第二部分介绍。第一部分首先简单介绍一些基本知识,第2~10章则分别讲解了9个模型,它们有不同的复杂度和表现力。有些非常有名,比如流程图和决策表。我们特别关注有限状态机,因为大多数的商用工具或者开源工具对其支持力度最大。第二部分展示了6个商用的MBT产品,最后一章简单描述了6个开源的MBT工具。
写作本书最大的挑战是如何传授经验。有两个贯穿全书的例子,保费计算问题是一个转换型应用的例子,车库门控系统是一个交互型应用(事件驱动)的例子。在第2~10章,我们用教学的方式对这两个问题予以建模。之后把这两个例子交给了6个商用工具,看看这些产品是如何支持这两个贯穿全书的例子的。所有MBT社区都承认,MBT的成功在很大程度上取决于被测系统的建模好坏。因此第2~10章非常重要。
我父亲是一位工具和骰子制造商,他的父亲和祖父是丹麦的橱柜制造商。我外公是一位画家,我妻子是一位出色的厨师。我的家庭成员都将各自的才能作为手艺,并以各自的工作为荣。我相信,这种自豪感能够将普通的工作升华为手艺。我希望读者能够使用本书所展现的内容成为一个MBT的手艺人。
Paul C. Jorgensen
密歇根州,罗克福德
媒体评论
本书共两个部分:第一部分讲解理论知识,介绍了9种不同的测试模型,包括流程图、决策表、有限状态机、Petri网和UML等;第二部分关注工具及实践,介绍了6个商用的MBT产品和6个开源的MBT工具,包括Yest、CertifyIt、TestOptimal和ModelJUnit 2.5等。书中设计了两个贯穿各章的例子,一个简单的保费计算系统,一个事件驱动的车库门控系统,以帮助读者深入理解建模过程和工具的应用技巧。