0 から 1 までの自動テストを実装する方法は? 熟年モデルとは?テストベテランのまとめ...


序文

過去 10 年間で、IT は急速に発展しました. 当時, ソフトウェア開発とテストの需要は毎日増加していました. 応募者は常に歓迎されていました. それ以来、多くの羽がありましたが, 間接的な影響は、ソフトウェア開発とテストの高い給与は、実践者にとって非常に魅力的であり、特にテストの敷居は低いです。

2023 年、ソフトウェア テストは需要の高い段階に入っています。

Python 自動テスト: https://www.bilibili.com/video/BV16G411x76E/

近年、大手工場は開発とテストの比率を下げる傾向にあり、以前はファーウェイの開発とテストの比率は1:1程度でしたが、フルスタックエンジニアが提唱された今では、その比率は3:3程度まで低下しています。 2、今後も増える予定です。

自動テストが現在行われているため、手動テスト担当者が減り、それに応じてソフトウェアはより大きく複雑になり、安全性、パフォーマンス、および互換性に対する要件が厳しくなっています。

現在、テストのほぼすべてのプロセスに参加する必要があり、テスターのビジネス認識とコード読み取りに対するより高い要件も提唱されています。

自動テストは、テスト エンジニアにとって標準となっています。

次に、自動テストについて説明します

自動テストの実装方法

ゼロから 1 つの着陸までの初心者向けのインターフェース自動化テストについて説明する前に、いくつかの提案を捨てたいと思います。

いわゆる自動化フレームワークをゼロから直接学習するのではなく、
フレームワークを学習する前に、ネットワーク プロトコルとコーディングの知識を学習する必要があります。

なぜそう言うのですか?
初心者は一般的に、しっかりとした技術的基盤を持っておらず、コーディングの経験もあまりありません. フレームワークを直接段階的に学ぶことは特に簡単です.

着陸インターフェイスの自動化やその他の自動化されたテストをゼロから学ぶには、簡単なものから難しいものまで練習することをお勧めします。これにより、一方では日常業務で作業の完了を優先し、作業効率を向上させることができます。

一方で、モンスターと戦ってアップグレードするのと同じように、簡単なものから難しいものへと自分自身を改善することを学び、職場での自動テストの実践を常に最適化してください。インターフェイス自動化テストの実装が簡単なものから難しいものまで、おそらく次の手順に従うことができます。

インターフェース テスト用のツール (jmeter/postman など) の使用法を学ぶ、
継続的インテグレーション ツール (jenkins など) を使用してインターフェース テスト スクリプトをバッチで実行する方法を学ぶ、
git/gitlab やソース コード管理などのツールを学び、複数人での作業を容易にするチーム内でのコラボレーション;
自動テスト フレームワークを使用してツール スクリプトをコード スクリプトに変換するプログラミング言語を学習する;
共通部分のカプセル化、コード構造の最適化、コード スクリプトの記述効率の向上、メンテナンス コストの削減について学習;
データのパラメータ化された管理の学習メソッド、Excel から学ぶことができます — —構成ファイル — データベース — 数値ファクトリの方向に繰り返します;
ビジネス ラインとテスト シナリオに従ってスクリプト コレクションを区別してみてください。車輪の構築を開始
、KPI に取り組み、自動化テスト プラットフォームを開発します。

自動化テスト成熟度モデル

第 1 段階 - テストの半自動化
最初にツールを使用して、毎日の時間のかかる手動テストを半自動化 (postman/jmeter/jenkins など) に変換します。フレームワークや CICD などのハイエンドのものは考慮せず、最初にある程度の効率性を解決します。次の建設に時間とリソースを費やす前に問題を解決します。

もちろん、この段階は新興企業や中小企業の受験生に適しています。

中間段階の回帰テストの自動化
構築の最初の部分で、毎日のスモーク テスト、システム テスト段階の主要プロセスの回帰テスト、およびテスト データを作成するプロセスの一部を自動化できます。

その過程で、一方では建設チームのメンバーの技術力を育成し、向上させる必要があり、他方では自動テストの大規模な実装への道が開かれます (結局、多くの企業自動化されたテストは、短期的なメリットが見られない純粋な KPI になり、その後は何も起こりません)。

注: 上で述べたことはテストの自動化であり、自動化されたテストではありません。テストの自動化とは、毎日の手動テストの時間のかかる非常に反復的な部分を実行用のツールに変換することを指します。

これを行う目的は、効率を改善し、人的資源を解放し、強固な基盤を築くことです. ちなみに、これらのことを行うことはチームにとって長期的な価値があることをリーダーに知らせてください.

高度な段階 - 大規模な自動テスト
高度な段階では、大規模な自動テストを実行できると個人的には考えています。

ここでのスコープの広さは、手動テストがまったく必要ないことを意味するのではなく、自動テストのスピニング コーン モデル (ピラミッド モデルではない) に従い、UI-10%/API-70% の割合に従っています。 /UNIT-20%、ビルドと着陸を続けます。

もちろん、この段階で、左にシフトする練習をテストし始め、生徒に次のようなより創造的で探索的な作業を行うようにテストすることができます。

要件分析と要件レビューを含む要件段階により多くの時間を費やし、要件段階の品質を向上させ、
より効率的な自動テスト プロセス フレームワークを設計して、テスト ケースの有効範囲を改善します (直交実験法)。
R&D学生の育成 ユニットテストの実習、テスト生による事例提供とレビューと検証、R&D学生が実施責任を負う、
施工品質測定関連事項(問題を解決し効果を検証するための測定、測定指標の魔法の変更を自動化するためのものではない) );

成熟段階の自動テスト パイプライン
前の 3 つの段階での技術的な構築とユース ケースの生成、およびさまざまなチーム間のコラボレーションにより、この段階では、自動テストを企業の自動配信パイプラインに統合することを検討できます。

DevOps の継続的デリバリー パイプラインに関連するコンテンツについて、フォロー アップ更新...

以下は、私がコンパイルした2023年の最も完全なソフトウェアテストエンジニア学習知識アーキテクチャシステム図です。

1. Pythonプログラミングの入門から習得まで

写真の説明を追加してください

2. インターフェイス自動化プロジェクト実戦

写真の説明を追加してください

3. Web自動化プロジェクトの実戦

写真の説明を追加してください

4. アプリ自動化プロジェクトの実戦

写真の説明を追加してください

5. 一流メーカーのレジュメ

写真の説明を追加してください

6. DevOps システムのテストと開発

写真の説明を追加してください

7. 一般的に使用される自動テスト ツール

写真の説明を追加してください

八、JMeterの性能テスト

写真の説明を追加してください

9. まとめ(最後にちょっとしたサプライズ)

成功には、勇気と決意、そして絶え間ない追求と献身が必要です。夢を貫き、挫折や苦難を乗り越えさえすれば、究極の勝利は苦難を恐れず、果敢に戦う者にある!

人生の道のりでは、誰よりも多くの汗と努力を払う必要があります。たとえ困難な道のりであっても、不屈の精神を持ち、目標に向かってしっかりと進む限り、成功の向こう側にたどり着くことができます!

誰もがそれぞれの夢を持っていますが、成功は努力と進歩を続けている人に属しています。確固たる信念を持って勇敢に前進する限り、最終的には輝かしい人生の道を歩み、理想と価値を実現することができます!

おすすめ

転載: blog.csdn.net/m0_70102063/article/details/130475067