Skip to content

Latest commit

 

History

History
101 lines (54 loc) · 7.5 KB

File metadata and controls

101 lines (54 loc) · 7.5 KB

零、序言

测试一直是软件开发的一部分。几十年来,综合测试是由复杂的人工测试程序定义的,并有大量的预算支持;但 1998 年发生了革命性的变化。Smalltalk 大师肯特·贝克(Kent Beck)在他的《更好的 Smalltalk 指南》中介绍了一个名为 SUnit 的自动化测试框架。这引发了测试框架的雪崩,包括 JUnit、PyUnit 和许多其他针对不同语言和不同平台的测试框架,称为 xUnit 运动。当 17 位顶级软件专家在 2001 年签署《敏捷宣言》时,自动化测试成为敏捷运动的基石。

测试包括许多不同的风格,包括单元测试、集成测试、验收测试、冒烟测试、负载测试和无数其他。本书在使用 Python 灵活的功能的同时,深入探讨了所有重要级别的测试。它还显示了许多工具。

本书旨在将您对测试的知识从您听说或练习过的内容扩展到您可以在任何级别应用的内容,以满足您在提高软件质量方面的需求。我希望能给你工具,让你在更好的软件开发和客户满意度方面获得巨大的回报。

这本书涵盖的内容

第 1 章使用 Unittest 开发基本测试快速介绍 Python 社区中最常用的测试框架。

第 2 章使用 Nose 运行自动化测试介绍了最普遍的 Python 测试工具,并通过展示如何编写专门的插件而忙碌起来。

第 3 章使用 doctest 创建可测试文档展示了使用 Python 的 docstring 构建可运行 doctest 以及编写自定义测试运行程序的许多不同方法。

第 4 章,*使用行为驱动开发测试客户案例,*使用 doctest、mocking 和莴苣/应 DSL 编写易于阅读的可测试客户案例。

第 5 章包含验收测试的高级客户场景帮助您了解客户的心态,并使用 Pycracy 和 Robot 框架从他们的角度编写测试。

第 6 章将自动测试与持续集成相结合展示了如何将持续集成添加到您与 Jenkins 和 TeamCity 的开发过程中。

第 7 章*通过测试覆盖率衡量你的成功,*探讨了如何创建覆盖率报告并正确解释它们。它还深入了解如何将它们与您的持续集成系统联系起来。

第 8 章冒烟/负载测试-*测试主要部件,*展示了如何创建冒烟测试套件,从系统中获取脉冲。它还显示了如何将系统置于负载下,以确保它能够处理当前负载以及为未来负载找到下一个断点。

第 9 章,*新系统和旧系统的良好测试习惯,*展示了作者从软件测试方面学到的许多不同经验教训。

这本书你需要什么

您将需要 Python2.6 或更高版本。本书中的配方还没有针对 Python3+进行测试。本书使用了许多其他 Python 测试工具,但包含了详细的步骤来说明如何安装和使用它们。

这本书是给谁的

本书面向希望将测试提升到下一个级别的 Python 开发人员。它涵盖了不同的测试风格,为任何开发人员提供了一套扩展的测试技能,以帮助编写更好的系统。它还总结了作者的经验教训,不仅解释了如何编写更好的测试,还解释了为什么。

公约

在这本书中,你会发现许多不同类型的文本可以区分不同类型的信息。下面是这些风格的一些例子,并解释了它们的含义。

文本中的代码如下所示:“创建一个名为recipe1.py的新文件来存储此配方的所有代码。”

代码块设置如下:

  def test_parsing_millenia(self):
    value = RomanNumeralConverter("M")
    self.assertEquals(1000, value.convert_to_decimal())

当我们希望提请您注意代码块的特定部分时,相关行或项目以粗体显示:

if __name__ == "__main__":
 unittest.main()

新术语重要词语以粗体显示。例如,您在屏幕上、菜单或对话框中看到的单词会出现在如下文本中:“unittest模块提供了一种方便的方法来查找 TestClass 中的所有测试方法”。

警告或重要注释显示在这样的框中。

提示

提示和技巧如下所示。

读者反馈

我们欢迎读者的反馈。让我们知道你对这本书的看法你喜欢或可能不喜欢什么。读者反馈对于我们开发您真正从中获益最多的标题非常重要。

要向我们发送一般反馈,只需向<[feedback@packtpub.com](mailto:feedback@packtpub.com)>发送电子邮件,并通过邮件主题提及书名即可。

如果您需要并希望看到我们出版一本书,请在www.packtpub.com或电子邮件<[suggest@packtpub.com](mailto:suggest@packtpub.com)>上的建议书名表格中向我们发送注释。

如果您对某个主题有专业知识,并且您有兴趣撰写或贡献一本书,请参阅我们的作者指南,网址为www.packtpub.com/authors

客户支持

既然您是一本 Packt 图书的骄傲拥有者,我们有很多东西可以帮助您从购买中获得最大收益。

下载示例代码

您可以下载您在账户购买的所有 Packt 书籍的示例代码文件 http://www.PacktPub.com 。如果您在其他地方购买了本书,您可以访问http://www.PacktPub.com/support 并注册,将文件直接通过电子邮件发送给您。

勘误表

虽然我们已尽一切努力确保内容的准确性,但错误确实会发生。如果您在我们的一本书中发现错误,可能是文本或代码中的错误,如果您能向我们报告,我们将不胜感激。通过这样做,您可以使其他读者免于沮丧,并帮助我们改进本书的后续版本。如果您发现任何错误,请访问进行报告 http://www.packtpub.com/support ,选择您的书籍,点击勘误表提交表单链接,输入您勘误表的详细信息。一旦您的勘误表得到验证,您的提交将被接受,勘误表将上传到我们的网站上,或添加到该标题勘误表部分的任何现有勘误表列表中。通过从中选择您的标题,可以查看任何现有勘误表 http://www.packtpub.com/support

盗版

在互联网上盗版版权材料是所有媒体的一个持续问题。在 Packt,我们非常重视版权和许可证的保护。如果您在互联网上发现我们作品的任何形式的非法复制品,请立即向我们提供地址或网站名称,以便我们采取补救措施。

请致电<[copyright@packtpub.com](mailto:copyright@packtpub.com)>与我们联系,并提供可疑盗版材料的链接。

我们感谢您在保护我们的作者方面的帮助,以及我们为您带来有价值内容的能力。

问题

如果您对本书的任何方面有疑问,请致电<[questions@packtpub.com](mailto:questions@packtpub.com)>与我们联系,我们将尽力解决。1