JavaScript与QA测试

1. 单元测试

目的:单元测试能让开发者明确知道代码结果。

原则:单一职责,接口抽象,层次分离。

断言库:保证最小单元是否正常运行检测方法。

测试风格:TDD(Test-Driver Development)测试驱动客服,BDD(Behavior-Driver Development)行为驱动开发,这俩种方式都是敏捷开发的方法论。

TDD:关注所有的功能是否被实现(每一个功能都必须有对应的测试用例)suit配合test利用assert。

BDD:关注整体行为是否符合整体预期,编写的每一行代码都有一个完整的测试用例。

测试框架:better-assert(TDD断言库); should.js(BDD断言库); expect.js(BDD断言库); chai.js(TDD, BDD双模); Jasmine.js(BDD);

单元测试流程:

before ... beforeEach => it => after ... afterEach

自动化测试:

karma自动化runner集成PhantomJs无刷新。这是一个无界面的chrom。

npm install -g karma

npm install karma-cli --save-dev

npm install karma-chrome-launcher --save-dev

npm install karma-phantomjs-launcher --save-dev

npm install karma-mocha --save-dev

npm install karma-chai

npm install karma-coverage --save-dev

基准测试

(1)面向切面编程AOP无侵入统计;

(2)Benchmark基准测试方法;

2.压力测试

对网络接口做压力测试需要检测的几个指标有吞吐率,响应时间,和并发数,这些指标反应了服务器的并发能力。

pv网站当日访问人数,uv独立访问人数,QPS=PV/t;

常用的压力测试工具:ab, siege, http_load

3.安全测试

XSS SQL CSRF

4.用户真实性检查

(1)selenium  -webdriver(自动化测试工具)

(2)protractor selenium-standalone

(3)http://webdriver.io

(4)冒烟测试;

(5)回归测试;

5. lint& hint

lint: http://www.jslint.com

hint: http://www.jshit.com

搭建自动化测试工具:grunt-jslint, grunt-jshint;

你可能感兴趣的:(JavaScript与QA测试)