前端测试入门

前端测试入门

  1. TDD与BDD http://joshldavis.com/2013/05/27/difference-between-tdd-and-bdd/
  2. express+ejs
    http://www.cnblogs.com/zhongweiv/p/nodejs_express.html
  3. xtemplate 客服
    https://github.com/xtemplate/xtemplate/blob/master/docs/tutorial/server-xtemplate.md
  4. 开发npm模块
    https://sfantasy.gitbooks.io/node-in-action/content/zh/npm-package/validator.html
  5. 美化输出
    https://sfantasy.gitbooks.io/node-in-action/content/zh/cli/output.html
  6. phantomjs + casperjs 抓取网页截图
    http://blog.csdn.net/kunshan_shenbin/article/details/39128477
  7. phantomjs+casperjs實現浏覽器自動化測試實踐
    http://www.wnqzw.com/article/18537.html
  8. !!前端自动化测试工具 overview
    http://imweb.io/topic/56895ae54c44bcc56092e40a
  9. !!Node.js + Express 构建网站预备知识
    http://www.cnblogs.com/zhongweiv/p/nodejs_express_webapp1.html
  10. PhantomJS快速入门教程
    http://www.tuicool.com/articles/beeMNj/
  11. node学习路线图
    http://www.open-open.com/lib/view/open1403574545233.html
  12. 管理 node 版本,选择 nvm 还是 n
    http://taobaofed.org/blog/2015/11/17/nvm-or-n/
  13. Node.js 包教不包会
    https://github.com/alsotang/node-lessons
  14. npm命令
    http://www.cnblogs.com/linjiqin/p/3765772.html
  15. 技术对比
    https://www.douban.com/note/334051223/
    http://www.alloyteam.com/2015/06/qian-duan-ce-shi-hui-gu-ji-wo-men-wei-shi-me-xuan-ze-karma/
  16. !!!前端测试
    http://taobaofed.org/blog/2016/01/08/karma-origin/
  17. While Mocha has a built-in support for running the tests from the command-line via Node.js, in some cases you still want to verify your code with the real web browsers. The easiest way to do that with by using Karma to automatically launch the browsers, control them, and execute the tests. The repository github.com/ariya/coverage-mocha-istanbul-karma shows a simple example on how to do this.
  18. socket.io封装了websocket,同时包含了其它的连接方式,比如Ajax。原因在于不是所有的浏览器都支持websocket,通过socket.io的封装,你不用关心里面用了什么连接方式。你在任何浏览器里都可以使用socket.io来建立异步的连接。socket.io包含了服务端和客户端的库,如果在浏览器中使用了socket.io的js,服务端也必须同样适用。如果你很清楚你需要的就是websocket,那可以直接使用websocket。
  19. NodeJS与PhantomJS通讯
    http://www.cnblogs.com/justany/p/3279717.html

答辩讲稿

背景
  • 必要性:随着应用规模的增大,在复杂的网络环境和浏览器环境下,前端开发的自测、QA测试以及 Code Review 都是不够的
  • GUI:GUI的存在也使得GUI软件更复杂、更难以测试。UI层面迭代快变化大,这是很多项目没有开发测试的原因。区别于服务端代码,GUI软件测试还需要考虑界面回归测试和功能测试。
    存在问题,比如编写和维护测试用例,需要花费时间,而且UI层面迭代快变化大,这是很多项目没有开发测试的原因。但是对于基础组件和基础工具,使用者会发现,前端自动化测试及持续集成具有的难以取代的好处。
    Alt text
  • 在一些特殊的情况下,实现前端自动化测试及持续集成需要考虑到测试环境,如是否跨域,日常线上等;需要考虑到性能问题,如测试系统的性能会受本地机器的影响,能否同时测试多个承受大型项目的压力测试等;需要考虑到可用性问题,为了代替手工的测试,是否建立通过仓库地址来执行测试,然后建立测试脚本来调用测试工具,这就要求仓库和脚本对测试平台来说是可访问的,一些私有仓库需要考虑这一点;测试脚本的编写:脚本的测试内容对使用者有技术门槛和较高的学习成本。
    Alt text

技术

Node.js是一个网络应用的运行环境,可用于服务器端, 是开放源代码的,是跨平台的。他诞生的目的是为了实现高性能Web服务器,其优越性在于事件机制和异步IO模型,而不是JS。
Alt text
测试主要使用到的工具是测试框架、断言库以及代码覆盖率、界面回归测试、功能测试和持续集成工具。
Alt text
Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架。 socket.io封装了websocket,同时包含了其它的连接方式,比如Ajax。
Alt text

Npm是Nodejs的附带的运行在命令行下的包管理器,Grunt是JavaScript 世界的构建工具。任务运行器会根据Gruntfile 文件自动读取文件中的正确配置好的任务,
Alt text

每个模块的开发类似,下面将以单元测试的模块设计为例。开发一个NPM模块,首先需要建立一个包的目录,以Mocha的部分结构为例:
|- lib/
|- test/
|- package.json
|- index.js
|- README.md
对于需要在浏览器下运行或者运行在node中当时结构较简单的模块,可以把index.js代码放在根目录下。也可以选择把所有实现代码放在src文件夹内,这样有利于项目的可扩展性,这样index.js作为所在模块的入口文件存在。在CommonJS的模块系统中,module.exports可以输出一个函数,也可以输出一个对象。各模块的调用依赖于:
module.exports = require(‘./lib’);
模块编写好后,可以通过node ./lib/ index.js来测试、运行一下在lib文件夹中创建的一个index.js模块,以及刚刚编写的代码。到这里,模块的开发工作基本完成。开发完成后通过npm link命令,执行该命令后可以将当前的NPM包链接到存放系统中NPM模块的文件夹。假设我们在package.json文件中将name命名为myModule,并且调用var myModule= require(‘myModule’);,就可以通过“myModule”调用模块了。
Alt text

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值