首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >给定场景的设计与测试方法

给定场景的设计与测试方法
EN

Stack Overflow用户
提问于 2010-08-14 15:07:35
回答 2查看 255关注 0票数 0

这不是家庭作业。但是,从理解的角度来看,了解design , implement and unit test、特定场景的最佳实践以及discussion explaining why a particular approach was taken相对于其他场景的最佳实践,对于更好地理解如何处理和处理类似的情况确实很有帮助。

如何从设计、实现和单元测试的角度来处理下面的场景。

场景

说话人和听者互相交流。说话者可以向听者陈述情绪:smile,anger, courtesy, joke, fury, etc.听者对每一次交流都给予适当的反应(说些什么,攻击,防御,忽视等等)。

问题

  • 侦听器对象的反应规则是什么?
  • 如何使用UML进行设计,并通过使用文本输出来模拟它呢?
  • 检查此场景的适当实现的JUnit测试用例是什么?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-14 15:35:18

以下步骤对于任何发展都是极其重要的。

需求收集

冻结和记录准确的要求。起草精确的用例非常有帮助。

设计

设计解决方案。在这里,可以根据项目的性质选择不同的方法。

  • 增量模式:对于具有短期交付和评审的长期项目,增量模式非常有用。
  • 具体模式:这里您彻底地设计了您的应用程序。释放周期更长。每个功能首先完成,然后交付。

使用UML下面的图表是很重要的。

  • 类图:应该详细列出所有类。接口、抽象类、助手类、第三方API的使用可以在这里详细介绍。
  • 序列图:应该列出项目中列出的所有用例的操作流程。

这里应该包括使用适当的设计模式。应该起草与用例相匹配的测试用例,通常每个用例有一个或多个测试用例。

实际上这里有很多要描述的地方。我提供的是在实施项目时应该采取的方法。

考虑到您的应用程序,将其分解成不同的部分可以帮助设计它更简单。从广义上讲,我可以想到以下几个方面。

  1. 实体-说话人、听者
  2. 表达式-表达式列表
  3. 规则-说话人表达的反应表达形式的规则。
  4. 通信-通信层,将用于说话人对听者(类似广播)和从听者到说话人(类似点到点队列)。
票数 1
EN

Stack Overflow用户

发布于 2010-08-14 15:15:25

回答你的最后一个问题。( JUnit),我将实现以下内容:

  1. 对每个有效输入进行测试,确认相应的输出。
  2. 提供无效输入的测试,并确认此场景处理得当(如果设计良好,您的接口可能不允许无效输入)。

我不会写一个单元测试来检查每一种情绪/反应。为什么不呢?如果一个测试失败了,那么整个单元测试就会失败,您将不知道接下来的哪个测试可能会失败。调试时,确定完整的响应集可能很重要,过早退出的测试会删除此功能。

这里有一个JUnit简介 (也许有点旧,但仍然相关)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3483916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档