我的机器人和锥子

我叫Dasha,我是一名测试工程师已有4年了。 这意味着,在寻找新解决方案时,随着“六月”的刺激而激动的有趣任务越来越少了。 相同的项目,作品和案例! 不,我不是那样玩! 测试始终是一个挑战,并且改变世界的美好愿望不会消失。 一旦我遇到了这个问题:您需要在Telegram中测试一个简单的聊天机器人。



背景:我们的客户按照约定执行常规操作很不方便,因为最初给他发送了必要计算的链接,并且每次他通过浏览器打开必要指标进行审查时,这增加了操作时间。 我们建议将逻辑转移到聊天机器人,以减少决策时间并简化客户员工的生活。

为了庆祝,我决定尽一切责任处理此事,以发挥最大的创造力,并享受工作。

使用黑盒和灰盒方法进行测试。 因此,您可以发挥所有想像力来提出自定义脚本。

声明:第三方服务发送一个SOAP请求,我们必须对其进行处理并将其保存在数据库中,然后使用表形式的参数创建图片并将其发送给用户以供批准。 作为响应,系统接收确认或拒绝以及对该决定的评论。

有说明,削铅笔,准备清单,都吃了饼干。 我准备开始! 每隔一个新的问题就诞生了...

停停停! 保持冷静并开始测试。 因此,为了:

1.以什么形式显示日期? 日期始终存在问题:格式,时区等。
我们无法从外部系统获得确切的要求,因此我们决定以最初收到日期的形式显示日期。 很难预测将以哪种格式接收日期(即使魔术球也无法做到)。

2.如果邮件中包含大量信息,图像质量将受到多少影响?
图片的质量取决于从外部接收到的信息量。 电报本身会降低图像质量。 如果有大量信息,则通过与文档一起发送,我们将以可读的形式获取表格,但是用户需要使用第三方应用程序打开生成的PDF文件。 这会使生活复杂化,没有人喜欢困难(但每个人都喜欢饼干!)。 同时,如果您发送图片,则仅当接收到少量数据时,该图片才可读,但是用户将能够使用Telegram本身的功能来查看图像。 我们决定最好在显示器上放图片,因为这样操作起来更方便,而且不太可能获得大量信息。

3.如果未收到有关决定的评论,系统应如何响应?
结果一切都非常简单:我们保存了已发送决定的结果。 然后,在第二次请求时,他们向用户提供了有关需要填写关于该决策的注释的信息。

4.如果连续收到多个批准请求,用户应该如何理解需要发表评论的解决方案?
在此实现了该功能,以便要求提供评论的消息以对消息的响应的形式出现,其中包含有关解决方案的基本信息。

5.如果用户尚未决定旧消息,但已经收到新消息,系统应该怎么做?
在这种情况下,我们的系统会重新发送相同的消息以供批准(没有人敢忽略我们!)。

6.我们可以接受多少条消息?
为了回答这个问题,我决定在SOAP UI中创建一个简单的Test Suit。 之所以选择该应用程序,是因为它具有广泛的范围(涵盖Web服务验证,模拟,功能测试,负载测试等)。
我不会告诉您如何创建简单的测试服,因为他们已经对此进行了足够的介绍,所以我只想描述问题和解决方案。
主要的收获是,对于每个新请求,必须生成一个新的标识符,并且该生成的值在同一XML中被重用。

找到解决方案:

在一个测试用例中,将使用ID_Calc属性创建一个属性。



然后,在“设置脚本”选项卡中,粘贴脚本:
testCase.setPropertyValue(“ ID_Calc”,新的java.util.Random()。nextInt(99999).toString())



之后,在请求本身中,在使用标识符的标签中,有必要编写:
$ {#TestCase#ID}



因此,每个请求都有一个唯一的标识符,但是在单独的消息的框架内,标识符是相同的。

开发和测试工作非常快速且协调地进行,因此我们设法尽快取得了成果。 该修订版立即移交给客户,他对此感到满意。

即使是最简单,最平凡的任务,您也可以完成一个很酷的任务,并为之自豪! 好吧,如果您很无聊,但想要生动的感觉,只需在项目中发现问题并以不同寻常的方式解决它们即可:)

祝你好运

Source: https://habr.com/ru/post/zh-CN481754/


All Articles