我是TDD的新手。我必须使用TDD构建一个项目。我想知道在开始使用TDD之前是否必须创建所有SRS和设计?TDD在传统软件开发中的作用在哪里?
-1
A
回答
0
首先,不可能在没有要求的情况下进行浪费,因此无论如何SRS是必需的。如果你的软件足够灵活,那么对SRS应用任何改变都很容易。对需求的任何改变意味着改变代码和测试。
问题的第二部分是关于设计。在敏捷开发(和TDD本身)中没有设计是常见的误解。这意味着,就像在其他类型的SE开发过程中一样,设计在实施之前完成。甚至在设计之前完成架构。
引述wikipedia's TDD design chapter:共享特性有效TDD必不可少
有效的模块化设计产量成分。
*高凝聚力确保每个单元提供一组相关功能,并使这些功能的测试更易于维护。
*低耦合允许每个单元独立进行有效测试。
*已发布的接口限制组件访问并作为测试联系点,便于创建测试并确保测试和生产单位配置之间的最高保真度。
和:
场景建模可以极大地方便了TDD试验的复杂系统的建设。
因此,系统是建模的,但考虑到可测性,我们在上面引用了这种系统的特征(高粘聚力和低耦合)。
1
很多人都在使用ATDD和TDD。业主,BA应该有要求。
大部分的要求是以故事的形式给出的。
例子: 作为(有的角色) 我想(这里的一些功能) 所以我可以(收益/特征在这里值)
开发团队测试人员和业务的人应该有会议和“谈话”关于每个要求。
然后你想出了一个完成的意思。下面是我经常使用的一个很好的语法来帮助提出良好的可测试定义。
为 “角色” 应该能看到/执行下列操作(输入测试): 鉴于(some_initial_condition(S)) 当(埃文斯(S)_occurs) 然后(ensure_some_outcome)
边缘情况(预计产生正确输出的最大或最小输入)
由此你可以有一个很好的理想,如何设置你的单元测试。
你也可能需要使用像黄瓜https://cukes.info/
相关问题
- 1. 使用TDD/BDD开发操作系统
- 2. ASP.NET MVC中的TDD:从哪里开始?
- 3. 用TDD思考OO - 从哪里开始?
- 4. 使用Moq和TDD,从哪里开始?
- 5. 软件开发人员设计能力差 - 在哪里转?
- 6. nixpkgs中的haskell软件包在哪里?
- 7. 在软件开发中使用角色
- 8. Ext JS 4 ux软件包在哪里
- 9. raco在哪里安装软件包?
- 10. Django:软件包在哪里安装
- 11. R存储软件包在哪里?
- 12. 在NTFS文件系统MFT在哪里
- 13. symfony2 tdd开发
- 14. 发布中的文件在哪里?
- 15. 哪种软件开发方法?
- 16. WSS/MOSS开发......在哪里画线?
- 17. 这些系统头文件在哪里?
- 18. 哪里elasticsearch存储在文件系统
- 19. 使用TDD/BDD开发XSLT
- 20. 我在哪里可以得到JDK中`sun`开始的软件包源代码?
- 21. 从哪里开始学习开发安全系统
- 22. 插件开发,在哪里保存用户数据?
- 23. 我在哪里可以查看自制软件中的工具或软件包
- 24. 通用设置中的iOS开发者菜单在哪里
- 25. 开发TDD接口
- 26. 在哪里保存上传的文件?
- 27. 我的上传在哪里?
- 28. 哪里可以使用npm软件包?
- 29. 简易表的软删除在哪里?
- 30. Wikis使用MediaWiki软件存储他们的文章在哪里?
什么是SRS的工具???? –
软件需求规格 –