前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >老板看了都说好的测试报告

老板看了都说好的测试报告

作者头像
用户5521279
发布2020-04-15 16:52:04
5260
发布2020-04-15 16:52:04
举报
文章被收录于专栏:搜狗测试
一、背景

最近在进行汪小电语义服务测试,搭建了python+request+ddt+HTMLTestRunner的测试框架。由于HTMLTestRunner的测试报告太丑,被老板嫌弃,于是为了寻找一个合适的测试报告而踏上征程。

最终在搜狗测试公众号的一篇文章评论中,发现了allure这个工具,简单的尝试一番后,发现这种测试报告才能配得上语义这种看上去高大上的服务。于是开始着手将之前的测试框架重构成pytest+allure。

二、allure介绍

1、环境配置

allure:https://github.com/allure-framework/allure2

pip3 install pytest

pip3 install pytest-allure-adaptor

2、测试报告定制

Feature: 标注主要功能模块

Story: 标注Features功能模块下的分支功能

Severity: 标注测试用例的重要级别

Step: 标注测试用例的重要步骤

Issue和TestCase: 标注Issue、Case,可加入URL

1)Feature定制详情

代码语言:javascript
复制
import allure
import pytest
@allure.feature('test_module_01')
def test_case_01():
  assert 0
@allure.feature('test_module_02')
def test_case_02():
  assert 0 == 0
if __name__ == '__main__':
  pytest.main(['-s', '-q', '--alluredir', './report/xml'])

添加feature,Report展示见下图。

2)Story定制详情

代码语言:javascript
复制
import allure
import pytest
@allure.feature('test_case01')
@allure.story('test_story01')
def test_case_01():
  assert 0
@allure.feature('test_module_01')
@allure.story('test_story_02')
def test_case_02():
  assert 0 == 0
if __name__ == '__main__':
  pytest.main(['-s', '-q', '--alluredir', './report/xml'])

添加story,Report展示见下图。

3)用例标题和用例描述定制详解

代码语言:javascript
复制
import allure
import pytest
@allure.feature('test_module_01')
@allure.story('test_story_01')#test_case_01为用例title
def test_case_01():
    """
    用例描述:这是用例描述,Test case 01,描述本人
    """
    #注释为用例描述
    assert 0
if __name__ == '__main__':
    pytest.main(['-s', '-q', '--alluredir', './report/xml'])

添加用例标题和用例描述,Report展示见下图。

4 、Severity定制详解

Allure中对严重级别的定义:

1) Blocker级别:中断缺陷(客户端程序无响应,无法执行下一步操作)

2)Critical级别:临界缺陷( 功能点缺失) 3) Normal级别:普通缺陷(数值计算错误) 4) Minor级别:次要缺陷(界面错误与UI需求不符) 5)Trivial级别:轻微缺陷(必输项,无提示,或者提示不规范)

代码语言:javascript
复制
import allure
import pytest
@allure.feature('test_module_01')
@allure.story('test_story_01')
@allure.severity('blocker')
def test_case_01():
  assert 0
@allure.feature('test_module_01')
@allure.story('test_story_01')
@allure.severity('critical')
def test_case_02():
  assert 0 == 0
@allure.feature('test_module_01')
@allure.story('test_story_02')
@allure.severity('normal')
def test_case_03():
  assert 0
@allure.feature('test_module_01')
@allure.story('test_story_02')
@allure.severity('minor')
def test_case_04():
  assert 0 == 0
if __name__ == '__main__':
  pytest.main(['-s', '-q', '--alluredir', './report/xml'])

添加Severity,Report展示见下图。

还有Step和Issue和TestCase等定制,有兴趣的小伙伴可以自己研究一下。

一起学习

三、实际运用

在语义服务的测试过程中,可以将语义服务分为三个模块:credit_card、loan、estate。分别添加feature定制进行区分。

最终测试测试结果如下图:

来对比一下HTMLTestRunner生成的报告:

不多说了,老板看了效果后,直呼“歪比巴卜”,要跟我加工资了。

四、总结

本期为大家介绍了allure的一些特点以及小编在实际项目中的使用情况。因为本文主要介绍的是allure,pytest的使用方法由于篇幅问题无法一一赘述。熟练使用pytest和allure可以使测试报告更加丰富和完整,下一期小编将会介绍pytest的特点。如果有感兴趣的,欢迎与小编进行讨论。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档