软件测试的经典书籍,这本书可以作为软件测试行业的入门科普书籍,内容通俗易懂。
介绍
本书涵盖了软件测试的方方面面:软件测试如何适应软件开发过程,基本的和高级的软件测试技术,在常见的测试任务中运用测试技能,使用自动化提高测试的效率,测
试工作的计划和文档化,有效地报告发现的问题,衡量测试工作的成效和产品的改进,
测试和质量保证的区别,寻求软件测试员的工作。
本书适合软件测试人员及希望未来从事软件测试的其他专业人员阅读,也适合高等
院校相关专业的学生及教师参考
软件测试(原书第2版)
当今社会似乎每天都有关于计算机软件问题或安全缺陷暴露的新闻报道:银行给出不正确的账目收支报表、火星探测器在太空失踪、食品店收银机扫描器多算了香蕉的钱,或者某位黑客获得了数百万张信用卡号的访问权。
为什么会出现这些问题呢?难道程序员不能想出办法让软件仅仅做简单的工作吗?答案是否定的。随着软件变得越来越复杂,软件的功能越来越多,软件的互联性越来越强,使得编写一个无故障的程序越来越难,事实上已经不可能。不论程序员多有能力,也不论他有多细心,他的程序中都难免会出现问题。
这就是引入软件测试的原因。我们都看到在新衣服的口袋里有“检验员12号”的小标记,软件也一样有检验标记。许多大的软件公司里一个程序员配一个或多个测试员,以保证软件质量。从游戏软件,到工厂自动化生产软件,再到商业应用软件,都是如此。
本书将向你介绍软件测试的基础知识,不仅讲述基本的技能,还讲述成为一个成功的软件测试员必需的技能。你将会学到,如何迅速在任一计算机程序中发现问题,如何计划一个有效的测试步骤,如何清楚地报告发现的问题,以及如何告知软件在何时发布。
关于本书第2版,作者有话说:
在我写《软件测试》第1版的时候,软件安全性问题还只是刚开始在新闻标题中出现。虽然黑客和安全问题一直都是一个难题,但是随着互联网的爆炸性发展,
几乎无人能预计安全漏洞对软件开发者和使用者的影响有多大。
在第2版中,我又重新审阅了各章,着重强调了软件安全问题,并指出了如何使用贯穿全书的基本测试技术来预防、查找、修正安全问题。我还增加了一章,专门讲述如何测试软件安全漏洞。
如果你是第1版的读者,你会知道一个道理:不管你做多大的努力,你的软件都会带着缺陷发布。在第2版中,这也是一个真理—甚至带着安全问题发布。然而,通过对本书所讲述内容的长期应用,能达到确保测试中绝大多数重要的缺陷都不会漏掉的目标,并且使你的团队开发出高质量、高安全性的软件成为可能。
本书的读者对象
本书适用于三类不同的读者:
1.有兴趣将软件测试作为全职工作、实习或合作工作的学生或电脑爱好者。在面试前或第一天工作前阅读这本书以求在新上司眼里留下好印象。
2.改变职业,希望从原来的专业领域转入软件产业领域的人。本书给非软件专业的人员很多将其原专业知识应用到软件测试中的机会。例如,飞行教导员可以测试飞行模拟游戏,会计可以测试税务申报软件,教师可以测试新的儿童教育程序。
3.想对软件测试方面的知识增强了解的程序员、软件项目经理、软件开发团队的其他人员。
本书可以为你带来什么
从本书中可以学到关于软件测试的几乎所有方面的内容:
1.软件测试如何适应软件开发过程
2.基本的和高级的软件测试技术
3.在常见的测试任务中运用测试技能
4.引入自动化提高测试的效率
5.测试工作的计划和文档化
6.有效地报告发现的问题
7.衡量测试工作的成效和产品的改进
8.测试和质量保证的区别
9.寻求软件测试员的工作
本书必须用到的软件
本书讲述的方法是通用的,可以用于测试任何类型的计算机软件。但是,为了使大多数读者熟悉并使用例子,这些例子都是基于一些简单的程序,例如Windows XP和Windows NT/2000所带的计算器、记事本、写字板。
即使使用的是运行Linux或其他操作系统的PC或Mac电脑,也可以轻易地在系统中找到和本书中类似的程序。发挥创造力吧!创造性是优秀软件测试员应具备的素质。
本书中针对不同的应用程序、软件缺陷、软件测试工具所举的例子绝不是有意在对这些软件进行肯定或否定,这些例子仅仅用来演示软件测试的概念。
本书的组织方式
本书的目的是引导读者通过基础知识和必要技能的学习而成为一个优秀的软件测试员。软件测试并不是不停地敲击键盘,希望能最终使计算机崩溃这样一回事,在它后面包含了大量的科学和工程、规则和计划,也有很多的乐趣—你很快就会看到。
第一部分 软件测试综述
第一部分是本书的基础,该部分讲述了软件产品是如何开发出来的,软件测试如何应用到整个开发过程中。你将会懂得软件测试的重要性,并对软件测试工作量的巨大产生正确的认识。
第1章
“软件测试的背景”,帮助你理解什么是软件缺陷,软件缺陷到底有多严重,为什么软件缺陷会发生。你会了解到作为一个软件测试员最终的目标是什么,以及成为一个优秀的软件测试员应该具有哪些特点。
第2章
“软件开发的过程”,介绍团体进行软件产品生产的总体过程。你会了解到软件生产中有哪些典型的过程,哪些人员对此做出了贡献,以及可以应用的不同的过程模型。
第3章,“软件测试的实质”,对软件开发的事实进行分析。你会了解到为什么无论你做多大的努力,软件永远都不会完美,还会了解到本书中用到的一些基本的术语和概念。
第二部分 测试基础
第二部分讲述软件测试的基本方法,软件测试工作分为四个方面,每个方面的技术都用一章来描述。
第4章
“检查产品说明书”,讲述如何通过详细检查软件文档来发现缺陷。
第5章
“带上眼罩测试软件”,讲述在没有代码甚至不懂得编程的情况下的软件测试技术,这是最常用的测试类型。
第6章
“检查代码”,讲述如何通过详细的程序代码分析来发现缺陷。你会了解到并非高级程序员才能运用此方法。
第7章
“带上X光眼镜测试软件”,讲述如何通过代码评审或观察动态运行测试获得的信息来改进测试。
第三部分 运用测试技术
第三部分把第二部分学到的技术应用到软件测试员今后会遇到的实战环境中。
第8章
“配置测试”,讲述如何针对不同的硬件配置和平台来组织和执行软件测试。
第9章
“兼容性测试”,讲述如何针对不同的软件应用程序和操作系统交互的问题进行测试。
第10章
“外国语言测试”,有很多软件,当其被翻译成其他语言时会引起一些特殊问题,这时测试显得很重要。
第11章
“易用性测试”,讲述在检查软件程序的用户界面时,如何应用测试技术,如何确保软件对于残障人士也能适用。
第12章
“文档测试”,讲述如何检查软件的文档的缺陷,例如帮助文档、用户手册,甚至是市场宣传资料。
第13章
“软件安全性测试”,讲述如何针对想象中安全的计算机系统和数据,发现被黑客突破的安全缺陷。
第14章
“网站测试”,将目前学到的所有技术应用到实际测试中,你会发现即使简单到一个网站的测试,也涉及了软件测试的各个方面。
第四部分 测试的补充
第四部分讲述如何通过技术和人员的合理调配,提高测试的覆盖率和深入程度,使测试更有效。
第15章
“自动测试和测试工具”,讲述如何使用计算机软件来测试其他软件。你会了解到使用工具测试和自动化测试的不同方法,还会了解到使用工具测试并不十分简单。
第16章
“缺陷轰炸和beta测试”,讲述如何利用其他人员从不同角度使用软件,发现那些你完全忽略的缺陷。
第五部分 使用测试文档
第五部分涉及如何使软件测试文档化,使软件测试的计划、测试缺陷、测试结果对项目团队中每个成员都可见,且能理解。
第17章
“计划测试工作”,讲述创建项目测试计划涉及的工作。作为一个软件测试的新手,你可能不会马上就能写测试计划,一切都得从零开始,但是了解测试计划的内容以及写测试计划的原因是很重要的。
第18章
“编写和跟踪测试用例”,讲述如何正确规范地编写测试用例,使其他测试员也能使用。
第19章
“报告发现的问题”,讲述如何报告缺陷,如何整理出重现缺陷的必要步骤,如何描述缺陷使其他人可以理解并愿意修改。
第20章
“成效评价”,描述不同类型的数据、图表,用来标记测试的过程和进展,以及达到软件发布的步骤。
第六部分 软件测试的未来
第六部分讲述软件测试的未来以及软件测试的职业。
第21章
“软件质量保证”,讲述软件测试和软件质量保证之间的巨大区别,你会了解到不同的软件产业标准,诸如ISO 9000和软件能力成熟度模型,以及达到这些标准的要求。
第22章
“软件测试员的职业”,讲述成为软件测试员遇到的障碍。你可以了解到有哪些类型的工作以及到哪里去找这些工作,其中还有许多的提示和信息。
以上就是今日推荐书籍介绍,谁都有可能辜负你,但是知识不会,它只会让你站得更高,看的更远,各位测试小伙伴们,咱们高处见!!