首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >后端引擎从遗留到最新Java堆栈访问问题的测试策略

后端引擎从遗留到最新Java堆栈访问问题的测试策略
EN

Stack Exchange QA用户
提问于 2017-09-13 17:39:25
回答 3查看 201关注 0票数 1

我的面试问题之一是:

假设您正在处理桌面应用程序。客户端应用程序与后端引擎进行通信,用于biz逻辑和数据的呈现。考虑到后端引擎正在从遗留技术堆栈转移到最新的Java堆栈,因此提出了测试策略。

很明显,我的回答并不令人满意。你能建议一下这个案子的更好的测试策略吗?

我的建议是:因为整个后端引擎都被迁移了,所以我们需要执行所有的系统测试用例和自动化脚本。

他们期待着可能出现的风险清单和缓解计划。

EN

回答 3

Stack Exchange QA用户

回答已采纳

发布于 2017-09-13 19:54:49

当他们要求一个测试策略时,你可以有效地用一个测试计划来回答这个问题--一个高层次的测试列表--当他们要求一个测试策略时,也就是说,一个高级的描述,说明你将如何处理迁移或重写这样的规模。

其他的答案包含了一些好的建议。我想补充如下:

  • 遗留应用程序的使用概要文件是什么。很可能它有一组相对较小的函数,得到了大部分的使用。这将是检查功能、性能和安全性的高优先级目标。
  • 新应用程序能否与遗留引擎并行运行?如果可以的话,一段时间的并行操作应该是策略的一部分,以及某种形式的自动化或半自动的输出检查。
  • 遗留应用程序的性能概要文件是什么。您将希望确保新应用程序的性能与遗留应用程序的性能匹配或提高。
  • 是否存在遗留应用程序的API测试自动化,以及是否需要对新应用程序进行更改。如果遗留应用程序有一组广泛的自动化API测试,而新的应用程序没有改变API调用签名或预期响应,这些测试可以作为测试策略的一部分使用。
  • 哪些是遗留应用程序不可失败的基本功能?这些都是必须首先涵盖的功能,并建立了自动回归来覆盖这些功能。

有了这些信息,您可以对测试方法的各个方面进行优先排序,首先涵盖关键特性,其次是大多数使用的特性,以及其他需要的特性。您还可以列出一些策略,例如并行执行、针对两个系统运行自动测试、针对两个系统运行性能测试以及针对这两个系统运行安全测试。

这就是我对待面试问题的大致方式。

票数 1
EN

Stack Exchange QA用户

发布于 2017-09-13 18:26:45

首先,在某个地方,人们对他们想要讨论的考试水平存在误解。你关注的是低层次的“我该怎么测试.”他们有兴趣知道有什么风险。如果这种错误沟通经常发生,那么还有一个比你如何回答更大的问题,可能与你要面试的角色有关。

第二,我不确定你是否理解他们提出的问题的大小。他们打算做的事情经常被描述为“在飞机飞行时改变747的机翼”。他们希望在不改变系统其他部分的情况下完全替换系统的一部分。您建议的是回归/API测试,在这种情况下,回归/API测试是所有所需内容的一部分,但还远远不够。许多这样的项目之所以失败,是因为它们对于任何现实规模的系统来说都很难做到。

作为风险和缓解计划(我不认为这是QA/测试角色的责任的一部分;风险,可能,但不是缓解计划;更多的是建筑师/项目规划师的责任),我想到了一些事情:

1)绩效。新应用程序能处理与以前的应用程序相同的负载吗?与其他应用程序相比,它的规模有多大?它有不同的压力点吗?(也就是说,旧版本开始减速是因为它饱和了数据库I/O,新版本由于开始页面到磁盘或类似的东西而减慢速度)。根据测试结果,您可能需要迁移到不同的硬件、分解后端数据库或重新设计新的应用程序。

2)已知的错误/无文档的功能。实际上,系统存在bug或未定义的行为,而客户端应用程序则依赖于这种行为,这是很常见的。因此,您的替换系统不仅必须按照规范所述的方式运行,还必须按照其他系统实际的行为方式进行操作。为了测试这一点,我可能希望在信息流级别实现某种记录/重放功能,并验证对于给定的客户端输入,新后端给出了对活动数据的相同响应。

3)复杂性。正如我所说,这些努力很难做到,而且往往失败。一个更好的方法可能是重新架构当前的后端,使其不那么单一,并有更明确的责任筒仓。然后你可以,而不是一次更换整个东西,取而代之的是零碎的。

票数 1
EN

Stack Exchange QA用户

发布于 2017-09-13 19:23:32

这种开放式问题(而且很少有后续问题)很好地区分了那些有经验的人和那些试图假装的人。所以不要试图假装它(它很容易被发现),假装它只是在浪费每个人的时间(包括你的时间)。

相反,请描述类似的情况,在这种情况下,您可以测试更改系统的部分,在那里您确实有经验。如果你没有,告诉我你做了什么。

在面试中,他们不关心如何解决他们问到的任何问题(如果他们不知道,他们会聘请外部专家)。他们想知道你是否有解决问题的经验,以及你的方法是什么--所以告诉他们你知道怎么做,不要试图伪造一些你没有的经验。

工作场所SE,你会得到更多关于如何处理难的面试问题的建议。

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

https://sqa.stackexchange.com/questions/29523

复制
相关文章

相似问题

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