这个网站应该是我见过最全面的关于测试领域的知识整理了。稍微写代码数了一下,应该有200多个主要知识点,每个下面都有很多的常见问题。知识点的解释其实没啥突出的,不过常见问题对于面试来说就非常的顺手了。
稍微列举1个有意思的主题。
Definition of Acceptance Test Driven Development
什么是ATDD?
说实话,这个概念我也是第一次见到。
What are the key steps involved in ATDD?
ATDD的关键步骤有哪些?
The key steps involved in ATDD are:
- Collaboration among developers, testers, and business stakeholders to define acceptance criteria.
- Creation of acceptance tests before the development starts, based on the agreed-upon criteria.
- Development of the feature or user story, guided by the acceptance tests.
- Continuous Integration to ensure that code changes are automatically tested against the acceptance tests.
- Refinement of the acceptance tests as necessary, to address changes in requirements or understanding.
- Test Execution to validate that the software meets the agreed-upon acceptance criteria.
- Review and Feedback from stakeholders to confirm that the acceptance tests cover the desired functionality and behavior.
- Iteration through these steps as needed until the feature meets the acceptance criteria.
Acceptance tests are typically automated to facilitate frequent execution and regression testing. The tests are written in a language that is understandable by all parties involved, often using Behavior Driven Development (BDD) frameworks like Cucumber or SpecFlow. This ensures that the tests serve as both specification and validation.
|
|
Effective ATDD requires a strong collaboration culture, clear communication, and a commitment to quality from all team members.
稍微阅读理解一下,发现所谓的ATDD的流程大概是
- 定义测试条件和范围
- 写用例
- 根据用例来写代码
- 重复上面的步骤
- 根据需求变更来修改用例
- 根据用例进行测试
- 根据客户的反馈来判断用例是否覆盖了全部的需求
- 重复上面的步骤,直到产品交付
这里的用例基本上用的是特定的DSL来写的,也就是有自己的语法,一般常用的就有BDD框架支持的语法,比如上面列举的那样。
概念不新鲜,其实是bdd的一种,不过换个名字就真的不认识了。
总结
- 这个wiki的内容非常全面,大部分常见的软件测试内容基本上里面都有涵盖
- 里面的内容的准确性需要自己评估,毕竟世界上没有完全正确的观点
- 适合入门以及转码的小伙伴仔细研读,主要关注跟测试流程相关的部分
- 高手和有经验的同学可以用来查缺补漏
- 面试之前可以突击看一下,一些高级岗位可以重点关注里面跟指标相关的部分