零、前言

JavaScript 是当今 web 2.0 世界中 web 开发的重要组成部分。 尽管市场上有许多 JavaScript 框架,但在没有任何框架的帮助下学习编写、测试和调试 JavaScript 将使您成为一名更好的 JavaScript 开发人员。 然而,测试和调试可能是耗时、乏味和痛苦的。 本书将通过提供各种测试策略、建议和工具指南来缓解您的痛苦,这些策略、建议和工具指南将使测试更加顺利和简单。

这本书组织在一个易于遵循,一步一步的教程风格,以最大限度地提高你的学习。 首先,您将了解作为 JavaScript 开发人员最常遇到的不同类型的错误。 通过简单易懂的示例,您还将了解 JavaScript 最基本的特性。

随着您的学习,您将学习如何通过验证编写更好的 JavaScript 代码; 学习如何编写经过验证的代码将帮助您作为 JavaScript 开发人员极大地提高,最重要的是,帮助您编写运行得更好、更快、bug 更少的 JavaScript 代码。

随着我们的 JavaScript 程序越来越大,我们需要更好的方法来测试我们的 JavaScript 代码。 您将了解各种测试概念以及如何在您的测试计划中使用它们。 之后,您将学习如何为您的代码实现测试计划。 为了适应更复杂的 JavaScript 代码,您将了解更多关于 JavaScript 的内置特性,以便识别和捕获不同类型的 JavaScript 错误; 这些信息有助于找出问题的根源,以便采取行动。

最后,您将学习如何使用内置的浏览器工具和其他外部工具来自动化您的测试过程。

这本书的内容

第 1 章什么是 JavaScript 测试? ,涵盖了 JavaScript 在 web 开发中的作用和基本构建模块,如 HTML 和 CSS。 它还涵盖了您最常遇到的错误类型。

第二章,特别的测试和调试 JavaScript,涵盖了为什么我们为 JavaScript 执行临时测试程序,和 JavaScript 最常用的功能,通过编写一个简单的程序,这个程序将被用作一个例子来执行特定的测试。

第 3 章语法验证,介绍了如何编写验证 JavaScript。 完成本章后,您将提高您作为 JavaScript 开发人员的技能,同时,了解更多关于验证在测试 JavaScript 代码中的作用。

第四章计划测试,涵盖了拥有测试计划的重要性,以及我们在执行测试时可以使用的策略和概念。 本章还涵盖了测试的各种策略和概念,我们将执行一个简单的测试计划,看看计划测试意味着什么。

第 5 章将测试计划付诸行动,遵循第 4 章,我们应用了我们开发的简单测试计划。 最重要的是,我们将通过发现漏洞、记录漏洞并应用在第 4 章中所学的理论来修复漏洞。

第 6 章测试更复杂的代码,涵盖了复杂的方法来测试我们的代码。 测试代码的一种方法是使用 JavaScript 提供的内置错误对象。 本章还涵盖了如何使用控制台日志,如何编写自己的消息,以及如何捕获错误。

第 7 章调试工具,解决了代码变得太大、太复杂而无法使用手动方法进行测试的问题。 我们现在利用市场上流行的浏览器提供的调试工具,包括 Internet Explorer 8、FireFox 3.6、Chrome 5.0、Safari 4.0 和 Opera 10。

第 8 章测试工具,介绍了如何通过使用免费、跨浏览器和跨平台的测试工具自动化测试。 还介绍了如何测试接口、自动化测试以及执行断言和基准测试。

你写这本书需要什么

一个基本的文本编辑器,如 notepad++。

浏览器包括 Internet Explorer 8,谷歌 Chrome 4.0, Safari 4.0 及更新版本,FireFox 3.6。

JavaScript 版本 1.7 或更高。

其他软件包括 Sahi, JSLitmus, QUnit。

这本书是给谁的

这本书是为初学者 JavaScript 程序员或初学者程序员谁可能没有使用 JavaScript 的经验,HTML 和 CSS。

会议

在这本书中,你会发现几个经常出现的标题。

为了对如何完成一个程序或任务给出明确的指示,我们使用:

是时候采取行动了

  1. 行动 1
  2. 行动 2
  3. 行动 3

说明通常需要一些额外的解释,这样才有意义,所以他们后面有:

刚才发生了什么事?

这个标题解释了您刚刚完成的任务或指令的工作。

你还可以在书中找到一些其他的学习辅助工具,包括:

突击测验标题

这些是简短的多项选择题,旨在帮助你测试自己的理解力。

以英雄的身份出发

这些部分设置了实际的挑战,并给你的想法,以试验你所学到的。

您还会发现许多文本样式,它们可以区分不同类型的信息。 下面是这些风格的一些例子,以及对它们含义的解释。

文本中的代码如下所示:“我们可以通过使用 include指令来包含其他上下文。”

代码块的设置如下:

<input type="submit" value="Submit"
onclick="amountOfMoneySaved(moneyForm.money.value)" />
</form>
</body>
</html>

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

function changeElementUsingName(a){
var n = document.getElementsByName(a); 
for(var i = 0; i< n.length; i++){
n[i].setAttribute("style","color:#ffffff");
}
}

新词语重要词语以粗体显示。 你在屏幕上看到的文字,例如在菜单或对话框中,会出现这样的文本:“点击Next按钮将你移动到下一个屏幕”。

注释

警告或重要注释出现在这样的框中。

请注意

提示和技巧是这样的。

读者反馈

我们欢迎读者的反馈。 让我们知道你对这本书的看法——你喜欢或不喜欢的东西。 读者反馈对于我们开发游戏非常重要。

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

如果有一本书,你需要和希望看到我们发布,请寄给我们一份报告通过建议标题上形成 www.packtpub.com,<[suggest@packtpub.com](mailto:suggest@packtpub.com)>或发送电子邮件。

如果你对某一主题有专长,并且你有兴趣写作或撰写相关书籍,请参阅我们的作者指南www.packtpub.com/authors

客户支持

现在,您是包书的骄傲所有者,我们有一些东西来帮助您从您的购买中获得最多。

注释

下载本书示例代码

您可以从您的账户http://www.PacktPub.com下载您购买的所有 pack 书籍的示例代码文件。 如果您在其他地方购买了这本书,您可以访问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)>联系我们,我们将尽力解决它。