首页 > 编程知识 正文

思维能力测试题(逻辑判断321技巧)

时间:2023-05-06 10:28:11 阅读:67121 作者:4703

的业务规则和验证占客户提供的大部分需求。 观察这些需求如何通过业务分析师和客户表达和传播到整个项目团队,您会发现大部分这样的业务规则和逻辑都表现在逻辑流程图中。

复杂要求的逻辑流程图由许多分支、节点和决策框组成。 我们希望测试人员能够覆盖所有这些分支,并接触这些复杂的逻辑树的每个角落。 面对如此复杂的业务流程,我们尝试了许多测试用例/测试场景准备技术来简化流程。

最后发现决策表测试技术在这方面非常有用。 以下是决策表技术如何帮助您准备复杂的业务逻辑测试场景。

使用决策表技术制作登录画面的测试用例:

例如,看看决策表的例子。 这是登录屏幕的业务需求。

第一步是命名所有分支,然后用下面的数字或字母离开。

123是leaf a b c是branch

注意策略

决策框中指定的所有验证都必须通过表中的列进行。 流程图中列出的所有结果(叶)都必须在组合栏中提供获得决策表中必须包含的结果所需的所有输入组合。 另外,在创建测试用例时内在完成决策表后,您只需验证逻辑树中的所有分支和叶是否都涵盖了使用决策表技术的优点

图中所示的复杂业务流程很容易被该技术覆盖

提供对测试用例的信心。 你不需要多次检查自己的测试用例来获得自信

容易理解。 任何人都可以通过此诊断表模板生成测试用例

由于在首次创建时提供了完整的覆盖率,因此可以完全避免重新加工测试用例和测试场景

但是也有极限

根据测试用例准备技术(如边界值分析),等值分类不能直接应用于此模板。 但是,可以在组合框中做笔记并创建测试用例时使用

在解释为什么其他测试用例制作技术不能像决策表那样保证准确性之前,我想立即注意其他黑盒和白盒测试用例制作技术。

其他测试用例设计技术

边界值分析是一种软件测试技术,测试用例设计包括给定范围内外边界值的代表。 等价类划分也称为等价类划分,是一种软件测试技术,可以将给定条件划分为多个划分,并选择每个划分的输入数据进行测试。 边界值分析和等价类划分用于数值范围和长度。 这两种技术本身不能确保业务规则100%的测试覆盖率。 状态转移测试是一种黑箱测试技术,可以设计需要有限数量状态的系统的测试用例,并在特定事件发生时从一个状态转移到另一个状态。 状态转换测试技术可以确保涵盖逻辑树的所有部分,但不建议使用文档或工件。 因为决策表技术是一种技术,它可以确保对决策表的错误猜测得到涵盖,而且可以利用测试人员的经验找到错误和APP应用程序中最可能发现错误的部分。 这是基于技能的技术,没有规则。 错误的推测是关于更多的经验。 虽然需要经验,但并不证明所有用例测试都用于此技术,而用例/场景都用于创建测试用例。 用例描述了用户和系统之间的交互。 在为业务逻辑创建测试用例时,建议按照以下步骤准备测试用例,以确保最大的测试覆盖率:

使用决策表测试用例设计技术,使逻辑覆盖率达到100%。 复盖边界值分析和不同输入范围的等价类别字段层验证组合和数组(虽然并非所有数组都是必需的)。 错误猜测(除了上面三个步骤可以识别的错误之外),经验作为最后一个步骤是大量的if和else逻辑测试),例如调查问卷类测试,处理SPSS和交叉分析,有各种逻辑判断。 这里是处理客户订单的订单处理系统

在单元测试中测试此类服务基本上是一场噩梦。 mocking必须模拟通过方法的流以及依赖于在特定情况下应用的各种业务规则的所有依赖关系。 在一定数量的模拟和代码路径上,你的头会爆炸。

我在寻找重组我的方法。 这样,在维护代码可维护性的同时,可以更容易地测试方法,而无需考虑所有依赖关系,而且不会分散在千个不同的位置,也不会遵循逻辑。 我认为这可能需要权衡。

目前考虑的解决方案是设计一个小组件,以便多个组件可以协同工作。 每个组件都很小,具有凝聚力,重点突出。

建议使用过滤器链。 过滤器链是按顺序运行的处理器链表,链中的每个部分都可以选择保留执行,也可以选择协调通过过滤器链传递的消息。

“拦截模式”(Intercepting Filter Pattern )用于对APP应用程序的请求和响应进行某些预处理/后处理。 定义筛选器,并在将请求传递到实际目标APP应用程序之前将其应用于请求。 过滤器可以验证/授权/日志记录或跟踪请求,并将请求传递给相应的处理程序。 以下是这种设计模式的实体。

过滤器-在请求处理程序执行请求之前或之后,过滤器执行特定任务。 过滤器链-过滤器链有多个过滤器,它们按Target中定义的顺序执行。 目标-目标对象是请求处理程序。 过滤器管理器-“过滤器管理器”管理过滤器和过滤器链。 客户端-客户端到Target

对象发送请求的对象。

每个组件只有一对依赖项,可以在组合根上创建链。

这种设计允许使用一个或两个模拟对管道的每个部分进行单元测试。你有一个可伸缩和灵活的设计,以满足你不断增长的需求,增加更多的逻辑,以订单布局。处理链中的每一步都很小而且紧密。组件的命名指示了责任,并且容易为其他人导航。

readmore

https://www.tutorialspoint.com/design_pattern/intercepting_filter_pattern.htmhttps://blog.csdn.net/LU_ZHAO/article/details/105237117https://en.wikipedia.org/wiki/Intercepting_filter_patternhttps://softwareengineering.stackexchange.com/questions/355423/how-to-make-complex-business-logic-with-lots-of-dependencies-better-testable

https://www.softwaretestinghelp.com/decision-table-test-case-design-technique/

github博客
微信公众号:chasays, 欢迎关注一起吹牛逼,也可以加微信号「xxd_0225」互吹。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。