1、将自动化测试极端地集中在UI层会导致蛋筒冰淇淋反模式(ice-cream cone)
2、Mike Cohn在[Coh09](Succeeding with Agile: SofwareDevelopment Using Scrum
)中提出了测试金字塔的理念,即底层测试最多,高层次的端到端测试最少。
3、金丝雀测试
金丝雀测试(canary test)。金丝雀测试是最简单的测试。这是种一次性的测试,可以快速验证开发环境是否正确安装。
4、TDD测试
TDD是测试驱动开发(Test-Driven Development)的英文简称,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD虽是敏捷方法的核心实践,但不只适用于XP(Extreme Programming),同样可以适用于其他开发方法和过程。
5、Mocha并不包含断言库,它只负责识别和运行测试
6、Chai支持3种断言风格:assert、expect和should
7、测试一般遵循Arrange-Act-Assert(准备-行动-断言
,3-As)模式。将这3个部分用空行分隔可以使得代码更加清晰。Arrange部分设置测试时需要使用到的数据。Act部分执行被测代码。Assert部分验证执行结果。
8、。beforeEach和afterEach函数是三明治函数,这也就是说,测试套件中的所有测试都在这两个函数之间执行
9、3种测试类型
正向测试:当前置条件满足时,验证代码的结果确实符合预期。
反向测试:当前置条件或者输入不符合要求时,代码能优雅地进行处理
异常测试:代码在应该抛出异常的地方正确地抛出了异常
10、FAIR,即快速(fast)、自动化(automated)、独(isolated)和可重复(repeatable)
11、避免在一个测试中放置多个独立的断言