技术视野 | 如何建设维基链公链自动化测试体系
维基链WICC 2019-09-12 10:38:33发布
45798
摘要:一般而言,自动化测试框架必须包含测试用例编写和管理、测试执行、测试报告等主要组成部分。  

一般而言,自动化测试框架必须包含测试用例编写和管理、测试执行、测试报告等主要组成部分。鉴于区块链公链本身的一些特殊性,又需要考虑环境的准备,比如环境的部署、智能合约的准备等等。

以下是一个典型的测试框架的示意图:

点击查看大图

该自动化测试主要包含三个模块:环境管理、测试用例与测试执行管理,以及测试报告管理。

环境管理模块

1. 初始化环境
首次初始化环境,需要创建docker镜像,Dockerfile如下:

FROM phusion/baseimage:0.9.18

MAINTAINER will<zhixiang.liu@waykichainhk.com>

ARG branch='test'

ARG debug='-debug'

# Install prerequisites componets

RUN add-apt-repository ppa:bitcoin/bitcoin -y && apt-get update

ADD prepare_prerequisites.sh /tmp/

RUN apt-get install sudo

RUN sh /tmp/prepare_prerequisites.sh

# Create workdir

RUN mkdir -p /opt/src && cd /opt/src

RUN git config --global user.email "will-liu@live.com"

RUN git config --global user.name "will-lzx"

RUN cd /opt/src &&  git clone -b $branch 'https://github.com/WaykiChain/WaykiChain.git' --recursive

RUN cd /opt/src/WaykiChain/linuxshell && sh ./linux.sh \

&& cd /opt/src/WaykiChain/ && sh ./autogen-coin-man.sh "coin${debug}"

WORKDIR /opt/src/WaykiChain/

CMD bash

▲向左滑动查看完整代码

2.  生成build镜像

$ docker build -t wick-build .

测试用例和测试执行管理

1. 测试用例
测试用例管理包含后台自动更新所包含所有测试用例,每次刷新页面自动加载,可以根据模块和测试用例查看具体的用例内容。

2. 测试执行

  • 选择测试模块或者测试用例;

  • 选择执行环境,build最新版本coind:

$ docker run -i --rm -v `pwd`/waykichain/:/tmp/waykichain \

wicc-build \

sh -c " git pull || true && git reset --hard origin/test && sh ./autogen-coin-man.sh coin && make && strip ./src/coind  && mv ./src/coind /tmp/waykichain/"

▲向左滑动查看完整代码

  • 选择执行的频率(包含立即执行和指定时间来执行);

  • 后台执行通过定时任务来完成;

  • 定时任务通过celery+redis 配合django框架来实现。

测试报告管理

1.  报告生成

    通过以下命令行执行

RUN_ENV=$ENV pytest -s --alluredir=$reportdir/allure-results --junit-xml=$reportdir/junit-xml/test_result.xml --html=$reportdir/index.html

▲向左滑动查看完整代码

生成report以xml、html格式,在mysqldb中存储报告文件的目录,方便索引。

2.报告格式

     测试报告使用pytest自动生成的html格式,也可以使用pytest-allure插件来生成测试报告,本文以html格式显示。测试报告如下图:

点击进入招聘详情>
微信扫一扫
关注区块链新金融
扫一扫
下载数链APP
内容合作/商务合作:
gxcj@gongxiangcj.com
联系电话:
021-31128751