テストフレームワーク-データの永続性をうまく処理するにはどうすればよいですか?

データの永続性の定義

 

Baidu百科事典による定義は次のとおりです。
データの永続性は、メモリ内のデータモデルをストレージモデルに変換し、ストレージモデルをメモリ内のデータモデルに変換するための一般的な用語です。データモデルは任意のデータ構造またはオブジェクトモデルにすることができ、ストレージモデルはリレーショナルモデル、XML、バイナリストリームなどにすることができます。cmpとHibernateは、オブジェクトモデルからリレーショナルモデルへの変換の単なる異なる実装です。

ソフトウェアテストの観点から、素人の用語では、データの永続性は、テストデータの組織化された永続的な保存のプロセスです。狭義には、一般的にデータベースにデータを保存することを指します。広義には、データはファイルにすることもできます。データ、レポートなど。その他のフォーム。

以前のツイートで述べたように、テストデータにはテストリクエストデータとテスト結果データが含まれ、どちらも永続化する必要があります。

 

データの永続性の利点

なぜデータの永続性があるのですか?つまり、データの永続性の利点は何ですか?以下、4つの側面から説明します。

1.回帰テストの範囲をより正確にすることができます

隣接するバージョンのテスト結果データ(通常はすべてのテストケースを実行するテストを指します)を比較することにより、このテストと最後のテストの間でどのテストケースが影響を受けるかを明確に把握し、2つのバージョンの範囲が2つの間の変更は期待と一致しています。

 

例:現在のバージョンの変更はAモジュールにのみ影響すると思いますが、Bモジュールのテストケースを実行できなかったことが判明しました。その後、将来モジュールAを変更する場合は、モジュールBのこの失敗したユースケースを回帰テストに含めるように率先して取り組む必要があります。また、モジュールBの機能に影響を与えないように、モジュールBの他のテストケースを再度実行する必要があります。モジュールAの変更に。潜在的なバグは早い段階で発見されます。

 

2.テストケース自体に問題があります。

テストケースが複数のバージョンの実行に失敗した場合、その可能性は非常に高くなります。また、失敗の理由はプログラムのバグが原因ではなく、このテストケースが不安定なテストケースであることを意味します。失敗の理由は慎重に分析して改善する必要があります。

 

3.潜在的なパフォーマンスの問題が見つかります

各バージョンのテスト結果を比較することで、潜在的なパフォーマンスの問題を見つけることができます。たとえば、特定の期間内に、同じテストケースのセットについて、テスト全体の全体的な実行時間がますます長くなっています。これは、特定のサービスのパフォーマンスが低下していることを示しています。

 

4.チーム全体が品質保証に参加できるようにします

テスト結果データを永続的に保存し、レポートの形式でプロジェクトの関係者に送信します。これにより、開発とテスト以外のチームの役割が製品の品質を完全かつ常に更新されて理解できるようになり、製品の品質に対する主要な担当者の注意を促進できるため、より多くのリソースを活用できます。

 

テストデータを永続化する方法

データの永続性をテストする誰もが最初に考えるのは、データをDBに配置することですが、それが純粋なストレージである場合、データの永続性のメリットを享受することはできません。通常の状況では、テストリクエストデータはテストケースと1対1で対応している必要があります。

テストケースは、さまざまなテスト目的に応じてさまざまなテストスイートに配置する必要があります。最後に、テストスイートの実行を通じて、テストケース、テストスクリプト、テストデータ、およびテスト結果の間の対応が形成され、フォローが容易になります。 -アップテスト結果データは多次元で分析されます。

では、テストデータの永続性はどのようにして上記の目標を達成できるのでしょうか。現在人気のあるソリューションは次のとおりです。

 

1、国外——JIRA

実際、それはJIRA + ZephyrまたはJIRA + synapseRTです。その中で、JIRAは海外で最も高い市場シェアを持つプロジェクト管理および開発管理ツールとして認識されており、ZephyrとsynapseRTはどちらも有料のJIRAプラグインです。

Zephyrのユースケース管理は簡単に使用できますが、要件を記録および追跡できず、管理者はテストの進行状況を直感的に理解できないため、プロジェクト全体の観点からテストケースを管理することは困難です。

synapseRTは、要件の記録と追跡に使用できます。また、テストケースの作成、整理、計画、実行、テストケースのバッチ実行、バグのリンク、要件とテストに関するさまざまなレポートの生成にも使用できます。等

 

2.国内-禅タオ

ZenTaoは、国内最大の市場シェアとして、欠陥管理、需要管理、タスク管理に使用できる国産のオープンソースのプロフェッショナルR&Dプロジェクト管理ソフトウェアであり、機能的にはJIRAに匹敵します。

また、ZenTaoには、zendataテストデータジェネレーター、ztf自動テストフレームワークなど、プロジェクト管理、テスト管理、実行をワンストップで完了できる独自のツールが多数あり、中小規模のチームに最適です。

(1)ZenTaoのインストールと構成
ZenTaoは複数のプラットフォームをサポートしており、各プラットフォームのインストールと構成は異なります。インストールと構成については、https://www.zentao.net/book/zentaopmshelp/64.htmlを参照してください。

 

(2)テスト管理にZen Taoを使用する
テスト管理とは、テスト要件、計画、ユースケース、および実装プロセスの管理を指します。Zen Taoインストールガイドhttps://www.zentao.net/book/zentaopmshelp/64.htmlには非常に包括的な説明と説明があるため、Zen Taoの使用方法のデモンストレーションはもうありません:製品、テストスイート、テストケース、テストケースの実行と実行結果が表示されました。

画像

(3)ZTF自動テストフレームワーク
ZTFは、ZenTaoによって開発されたオープンソースの自動テスト管理フレームワークであり、自動テストの管理機能に重点を置いています。ZTFは、自動テストスクリプトの定義、管理、駆動、実行結果の返送、バグの作成、および他の自動テストフレームワークとの統合を提供します。

ZTFは独立してインストールされ、そのインストールと展開はZTFのインストールと展開https://ztf.im/book/ztf/ztf-about-26.htmlを参照できます。そのZTF構文は次のとおりです。

set     -s        设置语言、禅道系统同步参数。用户对当前目录需要有写权限

co      checkout  导出禅道系统中的用例,已存在的将更新标题和步骤描述。可指定产品、套件、测试单编号

up      update    从禅道系统更新已存在的用例。可指定产品、模块、套件、测试单编号

run     -r        执行用例。可指定目录、套件、脚本、结果文件路径,以及套件和任务编号,多个文件间用空格隔开

junit|testng      执行JUnit、TestNG、PHPUnit、PyTest、JTest、CppUnit、GTest、QTest单元测试脚本

ci                将脚本中修改的用例信息,同步到禅道系统

cr                将用例执行结果提交到禅道系统中

cb                将执行结果中的失败用例,作为缺陷提交到禅道系统

list    ls -l     查看测试用例列表。可指定目录和文件的列表,之间用空格隔开

view    -v        查看测试用例详情。可指定目录和文件的列表,之间用空格隔开

sort    -sort     将脚本文件中的步骤重新排序

clean   -c        清除脚本执行日志

--verbose         增加此参数,用于显示详细日志,如Http请求、响应、错误等信息

 

ZTFの一般的に使用されるコマンドは次のとおりです。

$>ztf.exe run demo\lang\bat\1_string_match.bat       执行演示测试用例

$>ztf.exe set                                        根据系统提示,设置语言、禅道地址、账号等,Windows下会提示输入语言解释程序

$>ztf.exe co                                         交互式导出禅道测试用例,将提示用户输入导出类型和编号

$>ztf.exe co -product 1 -language python             导出编号为1的产品测试用例,使用python语言,缩写-p -l

$>ztf.exe run product01 -suite 1                     执行禅道系统中编号为1的套件,脚本在product01目录,缩写-s

$>ztf.exe ci product01\tc-1.py                       将脚本里修改的用例信息,同步到禅道系统

 

(4)ZTFフレームワークと
ZenTaoの併用ZTFZenTaoと組み合わせて、テストの効率を向上させることができます。

  • ZTFを設定する

    # D:\ztf为你ztf的安装路径
    D:\ztf>ztf.exe set
    

    ZTFはプロンプトをポップアップし、プロンプトに従って入力して構成を完了します。
    画像

     


  • ZenTaoテストケースをテストスクリプトとしてエクスポートします。ztfを使用して、ZenTaoで定義されたテストケースをエクスポートできます。具体的な使用法は次のとおりです。
    画像


    システムプロンプトに従って、作成したテストスイート1のテストケース1をエクスポートし、エクスポート形式はpythonです。エクスポートが成功すると、D:\ ztf \ product1 \フォルダーに自動生成された1.pyファイルが作成され、その内容は次のようになります。

    #!/usr/bin/env python
    '''
    [case]
    title=测试用例-01
    cid=1
    pid=1
    [group]
    1. 输入用户名            >> candy.wu
    2. 输入密码              >> 123456
    [esac]
    '''
    # 访问'demo\python'获取更多帮助
    print(">> candy.wu")
    print(">> 123456")
    
  • テストスクリプトを実行する
    スクリプトが更新されたら、実行してみましょう。

    画像
    生成されたproduct1フォルダー内のすべてのテストケースを実行すると、テストが成功したことがわかります。

     

  • ztfを介してテストケースをZenTaoに更新する
    通常、テストスクリプトはテストケースに基づいて作成されており、テストスクリプトはZenTaoのテストケースと一致しています。

現在、要件に変更があると仮定して、テストスクリプトが失敗し、確認した後、最初にテストスクリプトを更新しました。現時点では、私のテストスクリプトはZenTaoのテストケースと矛盾しており、同期する必要があります。ztfは、テストケースを同期する方法を提供します。方法は次のとおりです。

画像
ztf.exe ciを使用すると、テストスクリプトとテストケースの同期を維持でき、テストケーステストが実際のテスト要件を反映していない状況を回避できます。

 

  • ZenDataテストデータジェネレーターの使用
    前回のツイート「テストリクエストデータの作成方法」では、テストデータの生成について説明しました。1つの方法は、データプラットフォームをテストすることです。ZenDataは、ZenTaoが提供する一般的なテストデータプラットフォームであり、テストデータを簡単に生成できます。

     

ZenDataには、主に次の2つの主要な機能があります。

データ生成では、ZenDataを使用して、構成ファイルを介して必要なすべての種類のデータを生成します。データ分析では、特定のデータファイルのデータタイプによって定義された構成ファイルを指定して、構造化データの分析を完了します。

ZenDataによって生成されたテストデータは、手動テストまたは自動テストに使用できます。Zendataの使用法を見てみましょう。

Zendataのインストールと展開については、Zendataのインストールと展開https://www.zendata.cn/book/zendata/why-zendata-115.htmlを直接参照してください。

 

  • ZenDataの構文は次のとおりです。

  -d  --default    默认的数据格式配置文件
  -c  --config     当前场景的数据格式配置文件,可以覆盖默认文件里面的设置
  -o  --output     生成的数据的文件名。可通过扩展名指定输出json|xml|sql格式的数据。默认输出原始格式的文本数据
  -n  --lines      要生成的记录条数,默认为10条
  -F  --field      可通过该参数指定要输出的字段列表,用逗号分隔。默认是所有的字段
  -t  --table      输出格式为sql时,需通过该参数指定要插入数据的表名
  -T  --trim       输出的字段去除前后缀,通常用在生成SQL格式的输出
  -H  --human      输出可读格式,打印字段名,并使用tab键进行分割
  -r  --recursive  递归模式。如不指定,默认为平行模式。平行模式下各个字段独立循环
                   递归模式下每个字段的取值依赖于前一字段。可增强数据的随机性

 

  • ZenDataはデータの例を生成します

    ZenDataは、テストデータの生成が非常に簡単です。まず、yamlファイルを使用してデータ形式を定義し、次に上記のコマンドを使用します。

次の例では、構成ファイルdemo \ test \ test-email.yamlに従って電子メールのグループを生成します。

# zd是ZenData的安装目录
# demo\test\test-email.yaml是默认的配置文件。存在ZenData根目录下的demo文件夹
C:\zd>zd.exe -d demo\test\test-email.yaml -n 1 -o hello_world.txt

上記のコードでは、-d関数の後にデフォルトのyamlファイル形式が続きます。ZenDataは指定された形式に従ってデータを生成します。yamlファイルを自分で定義することもできます。-nは生成されたデータセットの数を表し、-oは出力ファイル名を表します。

生成されたデータの各セットのフィールド数は、yamlファイルの定義によって異なることに注意してください。出力数を制御する場合は、次の方法を使用できます。

# number_with_esp是yaml文件test-email.yaml的filed名称
# 本例指定输出filed是number_with_esp生成的数据
C:\zd>zd.exe -d demo\test\test-email.yaml -n 1 -F number_with_esp -o hello_world.txt

実行が成功したら、生成されたhello_world.txtファイルを開くと、電子メールデータが生成されていることがわかります。このファイルは、自動テストで直接使用できます。現在、ZenDataは、TXT、JSON、CSV、およびsql形式でのファイル生成をサポートしています。

ZenDataの使用法を理解した後、登録用のアカウントを生成し、ユーザー名とパスワードの2つのフィールドを提供する実際のユースケースを見てみましょう。

まず、yamlファイルを作成します。簡単にするために、ZenDataインストールディレクトリのdemo \ testフォルダーにtest-user.yamlという名前のファイルを次の内容で作成しました。

title: 用户账户

desc:

author: candy Wu

version: 1.0

fields:

- field: number_with_esp

from: email.v1.yaml

use: number_with_esp

prefix: ""

postfix: "\t"

- field: field_format 

range: 1-10 

format: "passwd%02d" 

postfix: "\t"

次に、コマンドラインで次のコマンドを実行します。

# zd是ZenData的安装目录
# demo\test\test-user.yaml是刚创建的配置文件。用于生成用户名和密码
C:\zd>zd.exe -d demo\test\test-user.yaml -n 1 -o hello_world.txt

コマンドの実行後、生成されたhello_world.txtファイルを確認します。

[email protected]   passwd01

データファイルが正しく生成されていることがわかります。データファイルの形式と使用法の詳細については、ZenDataの公式Webサイトhttps://www.zendata.cn/を参照してください。

 

総括する

ZenTaoのワンストップソリューションを通じて、製品、プロジェクト、要件、テスト管理、テスト実行、およびテストレポートの作業を完了することができます。Zen Taoの使用法と高度な使用法の詳細については、ZenTaoの公式Webサイトhttps://www.zentao.net/を直接参照してください。

データの永続化は非常に単純なアクションですが、データの永続化の方法、エンタープライズ管理ツールを使用する組み合わせ、およびデータの永続化後に達成する目標がより重要な部分です。ZenTaoのワンストップソリューションにより、テストデータを簡単に管理して、テスト管理の飛躍とテスト効率の向上を実現できます。

[The Way of Infinite Testing]パブリックアカウントへようこそ、返信[Receive Resources]
Pythonプログラミング学習リソース乾物、
Python + AppiumフレームワークAPPUI自動化、
Python + Seleniumフレームワーク
WebUI自動化、Python + UnittestフレームワークAPI自動化、

リソースとコードは無料で送信されます〜
記事の下部に公式アカウントのQRコードがあります。WeChatでスキャンしてフォローするだけです。

備考:私の個人公開アカウントが正式に開設され、ビッグデータテスト、機能テスト、テスト開発、APIインターフェイスの自動化、テストの運用と保守、UI自動化テストなどのテストテクノロジーの共有に専念しています。WeChat検索パブリックアカウント:「WuliangThe Way of Testing」、または以下のQRコードをスキャンしてください。

 注意を向けて、一緒に成長しましょう!

おすすめ

転載: blog.csdn.net/weixin_41754309/article/details/113781829