アリは2番目の側にいます、自動テストの私の理解が浅すぎることがわかりました

Pythonを使用して自動テストを実装する方法

新会社に入社し、リーダーから自動テストの実施を依頼された場合、新参者としては間違いなく急いでいますが、自動テストをどのように実施しますか?シニアテストアーキテクトが自動かんテストの実装方法を説明します。このトピックは主に次の部分に分かれています。

1.自動化とは何ですか?

2.階層的自動化とは何ですか?

3. Pythonを使用して自動テストを実現するにはどうすればよいですか?

4. RobotFrameworkの自動化はあなたの状況に適していますか?

5.自動化の実装を成功させるための定期的なメンテナンスは何ですか?

  1. 自動化とは何ですか?

長い間自動化を行ってきたけれど、自動化の概念すら知らない人も多く、とても悲しい人もいます。こういう職業をやっていますが、最も基本的な概念すら知りません。それらを次のようにリストします(「SoftwareEvaluator Page69」から引用)。

自動テストの定義:

自動テストとは、テストエンジニアの所定の計画に従って、テストツールなどを使用してソフトウェア製品を自動テストすることであり、ソフトウェアテストの重要な部分であり、手動では完了できない、または困難な多くのテストタスクを完了することができます。達成する。自動テストを正しく合理的に実装することで、ソフトウェアを迅速かつ包括的にテストできるため、ソフトウェアの品質が向上し、コストが削減され、製品のリリースサイクルが短縮されます。

以上が自動化試験基準の概念です。一言で言えば、労働力を自動化手段に置き換えるだけで、完全に労働力を置き換えるわけではありません。ここで誤解を指摘する必要があります。自動化の意味を理解していない人もいます。自動化は全能であると私は信じています。自動化が行われている限り、機能テストは完全に解放されます。自動化スクリプトがよりスマートに記述されていても、手動作業を完全に置き換えることは不可能であり、自動化によって消費される人員はプロジェクトチーム全体にとって莫大な費用がかかります。したがって、自動テストは万能薬ではありません。

自動化テストの概念が導入された後、含まれている自動化のタイプも紹介します。市場で最も人気のある自動化のタイプには、次のタイプがあります。

1.UIの自動化

2.インターフェースの自動化

3.アプリの自動化

4.ユニットの自動化

5.自動テストツール(テスト開発支援)

多くの種類がありますが、プロジェクトではすべての種類の自動化を実行する必要がありますか?これは、階層的自動化とは何かという新しい視点につながります。

  1. 階層的自動化とは何ですか?

最初の写真

最初に、私の仕事で見られる自動テストの誤解についてお話ししましょう。

1.自動テストスクリプトが完了すると、製品の更新により多数のテストケースが無効になります。チームは新機能の開発に忙しく、無効なユースケースが増えると、これらのテストケースは徐々にメンテナンスを失います。学生がそこにいるときは、これらのユースケースを開発する方が簡単かもしれません。

2.多数の自動テストスクリプトで問題は検出されず、オンラインになった後も問題が発生していました。テストでは、主に通常のプロセスをテストしますが、オンラインの障害はすべて異常なプロセスです。

3.コード品質の問題は深刻です。多くの人は、入力を作成してから戻り値をチェックする単体テストを作成します。その結果、テストは合格しますが、問題は見逃されます。

4.繰り返しホイール製造。多数のチームが独自の自動テストフレームワークを開発していますが、実際には、さまざまなオープンソースフレームワークを調整して完成させているだけです。

階層テストには、次のレベルが含まれます。

1.単体テスト:テスト対象のコードの小さくて明確な機能が正しいかどうかを確認するために開発者が作成した小さなコード。一般的に、単体テストは、特定の条件(またはシナリオ)での特定の機能の動作を判別するために使用されます。

2.統合テスト:アセンブリテストまたはジョイントテストとも呼ばれます。単体テストに基づいて、すべてのモジュールは、統合テストの設計要件(構造図など)に従ってサブシステムまたはシステムに組み立てられます。ここでは、これをインターフェイステストと考えることができます。

3.システムテスト:コンピューターベースのシステム全体の要素として、テスト対象のソフトウェアは、コンピューターハードウェア、周辺機器、特定のサポートソフトウェア、データ、および人員など、他のシステム要素および環境と組み合わせてテストされます。ここでは、UIテストとして理解できます。さらに、包括的なルールが見つかり、早期に修理コストが低くなります。

  1. Pythonを使用して自動テストを実現するにはどうすればよいですか?

言語に関しては、Pythonの自動化は、対応するカプセル化されたAPIを呼び出すことに他なりません。

多くの自動テストフレームワークには、言語に対応するパッケージがあります。しかし、自動化されたテストは非常に多く、これらのタイプに分類されるだけです。対応する自動化されたテストのフレームワークを指摘しました。

1.UIの自動化

Web自動化:セレン

GUI自動化:autoit

2.インターフェースの自動化

urllib2

リクエスト

3.アプリの自動化

appium

4.ユニットの自動化

言語に関連する

上記のフレームワークを見ると、誰もが間違いなく学習が自動化されていると感じるでしょう。自動化されたテストを真に実現するには、基本的なフレームワークコンテンツの知識に精通しているだけでなく、言語をかなり理解している必要があります。そのため、今日導入される自動テストフレームワークであるRobotFrameworkにつながります。

  1. RobotFrameworkの自動化はあなたの状況に適していますか?自動テスト開発が直面する問題

バージョンの反復速度は非常に速く、反復時間は非常に短く、自動テスト開発は短すぎます。自動テスト開発フレームワークの開発コストは高すぎます。特にスタートアップチームにとって、フレームワークを開発するための人件費は高すぎます。

実際のプロジェクト、特に大規模なプロジェクトは、通常、非常に複雑な機能を備えています。これは、自動化されたテストケースを構築する際の課題でもあります。

要約すると、部門の規模には一定の制限があり、自動テストの方法と方法は真に実現されています。

大規模なテスト部門の場合、強力な開発能力がある場合は自動テストフレームワークの構築を検討できますが、小規模なチームの場合は、軽量で成熟した自動テストフレームワークを選択する必要があります。

RF機能

1.使いやすく、表形式の文法と統一されたテストケース形式を採用しています。

2.キーワード駆動、データ駆動、および動作駆動開発(BDD)を使用して完了することができます。

3.優れた再利用性、既存のキーワードを使用して新しいキーワードを組み合わせることができます。結果レポートとログ

読みやすいHTML形式をキャプチャします。プラットフォームとアプリケーションの関連性。

4.統合が簡単で、コマンドラインインターフェイスとXMLベースの出力ファイルを提供します。

5.バージョン管理との統合が簡単です。

6.キーワードは言葉で表現されており、理解しやすいです。

RF実装のアーキテクチャ図:

RFコードの例:

自動テストは、RFの1つのフレームワークのみで解決できます

RF自動テストフレームワークは、キーワード駆動型とデータ駆動型の自動化を組み合わせた自動化テストフレームワークです。自動化の観点から、この統合された自動化テストフレームワークは、現在の自動化フレームワークによって発見された全体的な傾向です。特に、仕事でフレームワークを使用するだけでは、仕事のニーズを満たすことはできません。

  1. 自動化を実装する方法と定期的なメンテナンスを行う方法は?

自動化されたテストを実際の作業に実装する方法も大きな問題です。自動化は多くのことを行っていますが、実際の問題を解決することはできません。自動化の価値は2つの側面にすぎません。1つは補助機能テストです。 。データ、2つ目は煙テストと回帰テストを行うことです。これらの2つのポイントが達成されない場合、自動テストは実際のアプリケーションを達成できず、労力を節約することは不可能です。実際の作業プロセスで。非常に重要な問題もあります。自動化が最初に行われるとき、基礎を築くことが非常に重要です。基礎がうまく築かれていないと、後の段階でフレームワーク全体で多くの問題が発見され、このフレームワークは多くの場合、最終的に放棄されます。フレームワークの選択とフレームワークの開発は非常に重要です。自動化されたテストを短期間に実行する必要があります。自動化を短時間で実行できないと考えられます。アーキテクチャが適切に設計されていない場合、後の段階でやり直しの可能性が高くなります。したがって、これは、自動化の初期段階が盲目的ではなく、基盤を構築する必要があることも決定します。

同じことが今日の私たちの焦点、RobotFramework自動テストフレームワーク、成熟した自動テストフレームワークにもつながります。このフレームワークの背後には拡張機能としてのPython言語があり、Pythonが達成できるすべてのことをこのフレームワークで実現できます。多くのフレームワークがあります。選択の観点から、成熟したフレームワークを見つけて、テストケースの管理に集中してください。これは最高レベルの自動化です。それはまた、最も適切な仕事の価値と意味でもあります。仕事に近いフレームワークなしで高度な技術コンテンツを促進するすべてのものにとって時間の無駄です。

テクノロジー業界では、技術スキルを向上させ、自動化プロジェクトでの実践的な経験を充実させる必要があります。これは、今後数年間のキャリア計画とテストテクノロジーの深さに非常に役立ちます。

ゴールデン9日とシルバー10日の面接シーズン、転職シーズンでは、面接の質問を整理することが長年の私の習慣になっています!以下は、近年の私のコレクションと並べ替えです。全体は[ソフトウェアテスト]を中心に構成されています。メインコンテンツには、Python自動化テストの独占ビデオ、Python自動化の詳細、インタビューの質問のフルセット、その他の知識コンテンツが含まれます。

ソフトウェアテストの友人にとっては、最も包括的で完全な面接準備ウェアハウスである必要があります。各モジュールをより適切に整理するために、インターネット上の多くの高品質のブログ投稿やプロジェクトも参照し、すべての知識ポイントを見逃さないように努めています。友人はこれらのコンテンツを利用してレビューを行い、BATJなどの大規模な工場からオファーを受け取りました。このウェアハウスは多くのソフトウェアテスト学習者にも役立ちました。あなたにも役立つことを願っています。

あなたと私が会い、あなたが何かを見つけることができますように!WeChatパブリックアカウントをフォローすることを歓迎します:[Sad Spicy Article] 216ページのソフトウェアテストエンジニアのインタビューブックを無料で受け取ります。そして、対応するビデオ学習チュートリアルは無料で共有できます!

おすすめ

転載: blog.csdn.net/weixin_50829653/article/details/112285561