本书是一本讲解软件测试的入门书,借助WindoWS95/98和 Windows NT/2000附带的计算器、记事本和写字板等常用小应用程序方法介绍了软件测试的通用方法,可以用于测试任何计算机软件。全部内容包括基本的和高级的软件测试技术、软件测试在软件开发过程的运用、利用自动化方法提高测试效率、计划和编制测试目标、报告发现的问题、评估测试目标和产品进度、测试和质量认证的区别,以及软件测试员职业指导。
本书适合对软件测试感兴趣的学生和爱好者。同时对软件开发小组中希望增强知识并了解软件测试的程序员、软件工程管理员具有指导意义。
第一部分 软件测试综述
第1章 软件测试背景
第2章 软件开发过程
第3章 软件测试的实质
第二部分 测试基础
第4章 检查产品说明书
第5章 闭着眼睛测试软件
第6章 检查代码
第7章 带上X光眼镜检查软件
第三部分 运用测试技术
第8章 配置测试
第9章 兼容性测试
第10章 外国语言测试
第11章 易用性测试
第12章 测试文档
第四部分 加强测试
第14章 自动测试和测试工具
第15章 臭由轰炸和Beat测试
第五部分 使用测试文档
第16章 计划测试工作
第17章 编写和跟踪测试案例
第18章 报告发现的问题
第19章 评价成效
第六部分 软件测试展望
第20章 软件质量评判
第21章 软件测试员职业指导
附录测验问题解答
近年来, 国内软件应用开发的发展迅速, 但是离国际先进水平仍然有不小的差距, 就是与我国情况极为类似的印度相比, 无论在软件开发方面还是产品输出方面, 都相差甚远. 最主要的原因是软件工程的概念和实施不到位. 而在软件工程的实施过程中, 软件测试又是重中之重.
对软件测试更大的误解是, 将其当作软件行业中不重要的工作. 产生这个错误想法的主要原因是, 为数不少的公司仍然在没有任何实际测试过程的条件下开发软件. 他们还不知道需要各种级别的软件测试员来保证公司制作出优秀的软件. 但是, 软件的质量问题随着越来越受到大家的重视, 例如千年虫. Intel芯片计算错误事件. 美国火星探测器坠毁灾难, 软件测试职业的价值逐步得到认可.
在发达国家, 软件测试是一项严格工作. 随着当今软件的规模和复杂性日益增加, 进行专业化高效软件测试的要求越来越严格. 由于认识不断加强, 机会也随之而来. 只要有几年工作经验的软件测试员就会成为炙手可热的人物. 能够进行编程和程序测试或者开发自动化测试的测试员更是人才难求. 另外, 如果测试员经历过一些产品开发周期, 而且能够领导测试小组, 那么地位就会非常高. 对于软件测试员实实在在有一个猪头市场.
本书与同类书相比, 具有一个显著的特点, 就是浅显易懂. 虽然整本书涉及的范围相当广泛, 但是作者始终没有忘记, 是读者在看书, 而不是他本人在自言自语. 能够在如此庞杂的学科中流畅讲解. 层层剖析, 可见作者深厚的技术功底和对软件测试. 软件工程的透彻理解.
在本书的翻译过程中, 译者深切地感受到, 软件测试对于软件工程开发过程中的重要意义, 按照本书介绍的正确方法去开发. 调试, 产品质量必将有一个极大的飞跃. 同时, 对于希望了解和学习软件测试或者软件工程的人员来说, 以此为起点, 一定能够在短时间内迅速领会要旨, 掌握基本测试技术并应用到实践中.
本书主要由周予滨. 姚静翻译, 参加翻译. 书稿整理和录入的人员有:何铭. 王胜海. 韩江. 李立华. 周觐. 李立文. 黄志明. 曾攀和林涛.
由于时间仓促和译者的水平, 书中难免存在一些纰漏. 如有任何批评意见和建议, 请与译者联系:Truemrzhou@sohu.com.
每天都好像会发生一些由计算机软件问题引出的新故事:银行未正确报告收支平衡状况, 火星探测器在太空丢失, 商店的刷卡机塞满了香蕉, 还有臭名昭著的千年虫.
为什么会这样?计算机程序员不能想办法让软件正常工作吗?答案令人遗憾:不能. 随着软件变得越来越复杂. 功能越来越多. 相互连接越来越广, 就会出现越来越难以做出不会出错的程序. 无论程序员水平有多高, 工作多么仔细, 都难免产生软件问题.
这就是软件测试的来由. 人们购买的新衣服上可能会打上“检验员12号”这样的小字. 软件中也有类似的标记. 许多大的软件公司都认同这一点, 每一个程序员都有一个或多个测试员来保证质量. 此类工作跨越了计算机游戏. 工业自动化和商业应用在内的各种软件.
本书将介绍软件测试的基础, 不仅讲解基本的技术, 而且传授成为优秀软件测试人员的技术. 读者可以学会如何迅速找出计算机程序问题, 如何计划有效的测试方法, 如何清楚地报告发现的问题, 如何知道软件准备发布的时间.
本书针对以下三种读者:
对软件测试感兴趣并将其作为全职. 兼职或合作工作的学生和爱好者. 本书应在面试之前阅读, 可望在新工作伊始打动老板.
从原专业领域转向软件行业的跳槽者. 对软件不精通者有很好机会运用其知识进行软件测试. 例如, 飞行检验员可以测试飞行仿真游戏, 会计可以测试税务管理软件, 教师可以测试儿童教学软件.
软件开发小组中希望增强知识并想了解软件测试的程序员. 软件工程管理员等.
本书讲解关于软件测试的几乎所有方面:
软件测试如何适应软件开发过程
基本的和高级的软件测试技术
把测试技术运用到普通测试任务中
利用自动化方法提高测试效率
计划和编制测试目标
有效地报告发现的问题
评估测试目标和产品进度
了解测试和质量认证的区别
软件测试员寻求工作指导
本书使用如下几种常见的印刷约定来辅助讲解软件测试主题:
新词汇在首次使用时以斜体形式强调.
命令和计算机输出以特殊的双字距字体表示.
用户输入以加粗双字距字体表示.
除了印刷约定, 下例特殊体例用于表示专用信息, 以便辨认.
注意:
在每一章都会有这样的特殊注意事项, 用于进一步说明原理和过程.
提示:
各种提示指出常见问题的解决方法和简化之道.
提醒:
提醒部分是指出前面章节讲过的原理, 帮助读者回忆和牢记重要原理.
由于时间仓促, 译者水平有限, 蔬漏不当之处再所难免, 请读者批评指正.