软件测试方式应该倾向哪一种?
1.测试驱动开发(Test-Driven Development)
测试驱动开发不同于传统测试开发,编写某个功能的代码之前先编写这个功能的测试代码,然后再编写使测试通过的代码功能。
通过测试来推动开发。
测试驱动开发帮助了代码简洁且可用,也是在软件开发中主流的测试方法。
2.单元测试(Unit Test)
单元测试也叫模块测试,是针对程序模块来进行测试的代码模块。
测试驱动开发中编写的测试代码就是单元测试。
所以,测试驱动开发中单元测试占很大一部分。
不过这也根据团队中对测试部分的指标决定,这个指标就是代码覆盖率。
3.代码覆盖(Code Coverage)
代码覆盖是软件测试中的的一种度量,描述程序中源代码的测试比例。
一般来讲,这个要根据不同的任务和不同的团队指标来定,像 80% 或更多。
4.集成测试(Integeration Test)
集成测试也叫组装测试。
在单元测试的基础上,将能运行的模块代码,按照设计要求组装成系统,进行集成测试。
5. 端到端的测试(End to End Test)
端到端的测试是从应用程序流的角度进行测试,模拟用户真实使用场景,也可以称作自动化测试。
例如,用 puppeteer 模拟真实用户,来测试网页开发。
以上都是一些名词的简单介绍,后面会介绍它们之间的关系。
6. 金字塔测试模型
马丁( Martin Fowler )在他的文