软件测试(software testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。依照可计算理论(计算机科学的一个支派)一个简单的数学证明推断出下列结果:不可能完全解决所谓“死机”,指任意计算机程序是否会进入死循环,或者罢工并产生输出问题。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。
软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
Google软件测试之道
豆瓣评分:8.3
每天,google都要测试和发布数百万个源文件、亿万行的代码。数以亿计的构建动作会触发几百万次的自动化测试,并在好几十万个浏览器实例上执行。面对这些看似不可能完成的任务,谷歌是如何测试的呢? 《google软件测试之道》从内部视角告诉你这个世界上知名的互联网公司是如何应对21世纪软件测试的独特挑战的。《google软件测试之道》抓住了google做测试的本质,抓住了google测试这个时代最复杂软件的精华。《google软件测试之道》描述了测试解决方案,揭示了测试架构是如何设计、实现和运行的,介绍了软件测试工程师的角色;讲解了技术测试人员应该具有的技术技能;阐述了测试工程师在产品生命周期中的职责;讲述了测试管理及在google的测试历史或在主要产品上发挥了重要作用的工程师的访谈,这对那些试图建立类似google的测试流程或团队的人受益很大。
完美软件
豆瓣评分:8.5
《完美软件:对软件测试的各种幻想(中英文对照)》是从事软件行业五十余年的Gernald M. Weinberg针对软件测试所写的新作。他在软件项目的管理、设计、开发和测试方面都具有极其丰富的经验,对于与软件开发有关人员的心理尤其有深入的研究。在《完美软件:对软件测试的各种幻想(中英文对照)》中,他重点讨论了与软件测试有关的各种心理问题及其表现与应对方法。作者首先阐述软件测试之所以如此困难的原因——人的思维不是完美的,而软件测试的最终目的就是发现对改善软件产品和软件开发过程有益的信息,故软件测试是一个信息获取的过程。接着,作者利用丰富的经历和大量的实例,展现了在软件测试中可能会出现的各种与人的心理有关的现象、误区、欺诈,以及容易犯下的常见错误等等。《完美软件:对软件测试的各种幻想(中英文对照)》的重点不是告诉大家要做什么或者说如何做,而更多的是让读者明白在与软件测试相关的活动中会出现某些特定现象的原因。理解这些与人的心理有关的现象有助于与软件开发有关的所有人之间更好地就软件测试的目的和实现过程进行沟通,从而实现具有更高品质的软件。
微软的软件测试之道
豆瓣评分:8.3
本书是以使读者熟悉微软产品、微软工程师、微软测试人员、测试的作用和对软件工程的通常做法作为开始。书的第二部分讨论许多在微软常用的测试实践和工具。 书的第三部分探讨某些我们工作中使用过的工具和系统。书的最后一部分探讨在微软测试和质量的未来方向,以及我们打算怎么创造未来。
本书结构清晰,内容详实,可作为广大软件测试人员的参考用书。
软件测试的艺术
路遥知马力,日久见人心。本书从第1版付梓到现在已经30余年,尽管这30年来计算机软硬件都发生了显著的变化,但是这本书经受住了时间的考验,显示出强大的生命力。市面上多半的软件书籍都偏重于讲流行的开发技术、编程语言以及测试方法,往往是风光一阵不再,而这本书却像醇香的好酒历久弥新。这一次修订的第3版仍然延续之前的写作风格,结构和语言简明扼要,全面而细致地展示了那些久经考验的软件测试方法和智慧。如果你参与重要的软件项目开发,对本书仔细研读绝对值得,将给你带来长期收益。 第3版阐述了如何将经典软件测试法则应用到解决当今计算机行业所面临的最紧迫的问题之中,这些问题包括: 移动设备的应用测试 各种设备上的软件代码走查、代码审查(从技术以及如何发现错误的角度讨论) 可用性测试(随着直接面向广大终端用户的应用在数量上呈爆发性增长,可用性变得越来越重要)
完美测试
《完美测试:软件测试系列最佳实践》每个人都怀有梦想或理想,测试人员也不例外,希望将自己的工作做得比较完美。《完美测试:软件测试系列最佳实践》力求通过一些典型案例告诉大家什么是完美测试,又如何做到完美测试。在给出的例子中,不仅包括功能测试、功能的异常测试、不同平台的功能测试和一些崩溃问题的处理,而且包括国际化测试、性能测试、用户体验测试、Accessibility测试等,并用较大的篇幅讨论了自动化测试。为了达到完美测试,建立良好的测试体系、使产品具有可测试性以及缺陷预防等更为重要,《完美测试:软件测试系列最佳实践》也做了讨论。《完美测试:软件测试系列最佳实践》还展示了软件测试之美,使读者可以领会到软件测试的距离之美、空间之美、技巧之美、辩证之美以及贯穿测试过程的平衡之美。虽然《完美测试:软件测试系列最佳实践》还很难覆盖完美测试应具备的各种方法和实践,但目的在于抛砖引玉,使读者能通过最有效的手段(包括方法、技术和工具)完成所有必要的测试,实现事先所要求的需求和代码的测试覆盖率,最终能准确地给出软件产品一个完整的质量评估,使测试达到相对完美的水平。
欢迎关注我的公众号“码农真经”,原创技术文章第一时间推送。