测试
描述一种用来促进鉴定软件的正确性、完整性、安全性和品质的过程。(wiki) 这是一段wiki描述软件测试的话。 软件测试在软件工程来说是必不可少的,它可以很好的让我们发现我们代码中的问题。 虽然我在这方面没有经历太久。但是还是有一些想记录的。 TL;DR
测试的类型
软件测试是一门很大的学问,大部门成熟公司的产品上线前都需要大量的测试。x轮测试、自测单元、冒烟测试等等。 作为开发人员更应该在代码提测前,编写测试用例,自测自己的代码,能更好的对自己干了些什么有个大的了解。
开发类型
常见的开发类型又TDD、BDD、DDD 分别是Test Drive Development(测试驱动开发)、Behavior Drive Development(行为驱动开发)、Domain Drive Design(领域驱动开发)
TDD
先戴上实现功能的帽子,在测试的辅助下,快速实现其功能;再戴上重构的帽子,在测试的保护下,通过去除冗余的代码,提高代码质量。测试驱动着整个开发过程:首先,驱动代码的设计和功能的实现;其后,驱动代码的再设计和重构。 简单来说就是在我们正式实现编码前,先抽象出我们要干什么,编写测试用例,然后编写实现代码,然后run我们的测试用例。 这样的好处在于,我们在编码前,会对这个系统有所掌控,测试覆盖度也较高。编码过程中会获得测试的反馈。 在需求确定的情况下,有助于我们快速开发出可靠的代码。好处是我们不会对系统做出过度设计。
BDD
BDD实际上更像是TDD的一个分支,在客户提出需求后,开发人员采用BDD可以快速的理解客户的要求并实现,当应用可以完成需求时候,我们只要保证测试可以保证功能运行即可。 实现代码可以更好的贴合整个系统的行为。
DDD
了解不深~~~(占坑)
话锋一转
前面我感觉是有点沉重。 我目前从事的是web前端。所以下面介绍下在前端开发时进行“简单测试”
项目的测试
在github上随便点开一个项目,npm package点开一个包都基本上可以看到有测试用例的身影。(具体存放位置大同小异) 在push自己的模块,代码的时候,附有测试代码是一个负责的表现。因为这可以让使用者更了解你的代码功能(也有助于自己“记得”自己的代码)
前端测试
前端常见的测试有
- 模块单元测试
- 视觉回归测试
- 自动化测试
- 端对端测试
- 集成测试
接下来我会自己使用过的测试库以及框架做成demo
总结一下
本文是主要梳理了一下,我理解的测试基础。 你说本文是测试xxx文,我都不认可,本文顶多是测试基础知识的笔记。本文只是做后面的铺垫 所以请不要喷我。
一些链接
可以从这些地方找到我
- http://zwk.life
- gmail邮箱:a2FuZzk1NjMwQGdtYWlsLmNvbQ==
- QQ邮箱:OTA3NzQ3ODc0QHFxLmNvbQ==
- github ZWkang