像大多数软件工程一样,软件测试是一门艺术。在过去十年中,自动化测试是测试软件的最佳方式。计算机可在瞬间运行数百个测试,而这样的测试集使公司能自信地每天发布数十个版本的软件。有大量资源(书籍、教程和在线课程)可用于解释如何进行自动化测试。无论使用哪种语言或正在开发哪种类型的软件,我们都可以找到要使用的工具的有关信息,但我们缺少与设计有效测试用例相关的资源。计算机自动执行开发者设计的测试,如果测试不是很好,或没有执行包含错误的代码部分,则测试集的用处不大。
开发社区将软件测试视为一种艺术形式,认为与缺乏创造力或经验的开发者相比,富有激情和创造力的开发者可以创建更有效的测试集。但我在本书中对这个观点提出了疑问,并表明软件测试不需要依赖专业知识、经验或创造力,它在很大程度上可以被系统化。遵循有效、系统的软件测试方法,则不需要依赖非常有经验的软件开发者来编写好的测试。如果可以找到将大部分流程自动化的方法,将能专注于需要创造力的测试。
本书是为那些想学习更多有关测试知识或提高测试技能的开发者编写的。如果你有多年的软件工程经验并且写过很多自动化测试,但总是按照自己的直觉来判断下一个测试用例应该是什么,那么本书将为你呈现系统性的思维过程。
具有不同专业水平的开发者将从本书中受益。新手开发者可以跟随笔者介绍的所有代码示例和技术来学习。高级开发者可以了解他们可能不熟悉的技术,并从每一章的务实讨论中学到知识。
笔者所描述的测试技术旨在供编写代码的开发者采用。虽然将程序视为黑匣子的专业软件测试人员可以阅读本书,但本书是站在被测代码的开发者的角度来编写的。
本书中的代码示例是用 Java 编写的,但我们尽量避免使用其他编程语言的开发者不熟悉的花哨结构。我们还概括了同类技术,即便这些代码不能直接转换到不同的环境,思路也是可供借鉴的。
购买链接
《Effective软件测试》([荷]毛里西奥·阿尼什(Maurício,Aniche))【摘要 书评 试读】- 京东图书 (jd.com)https://item.jd.com/13791897.html