真のテストアーキテクトになるにはどうすればよいでしょうか?

テスト モデルはどこにでもありますが、「テスト アーキテクチャとは何か」を真に理解し、テスト モデリング能力を備えた場合にのみ、真のテスト アーキテクトになれます。

皆さんご存知のとおり、「アーキテクチャ」という言葉はarchitectureに由来しており、「建築、システム構造」などの意味を持っています。建築という意味はシステム構造よりもはるかに豊かですが、その核となるのは、環境のニーズとユーザーのニーズを総合的に考慮し、空間に合理的な機能配置を行い、その形状やシステム構造を設計することにあることが多いです。安全性、経済性、応用性、美しさなどのニーズに応え、人と環境の調和を実現します。

ソフトウェア アーキテクチャは、建物の建築に似た隠喩 (または「システム メタファー」) です。主にソフトウェア システムの基本構造とその設計仕様を指します。ソフトウェア アーキテクチャには、ソフトウェア システムの要素と接続が含まれます。それらの間の関係、要素と関係などのプロパティ例えば、システムはデータ層、データアクセス層、サービス層、ビジネスロジック層、表示層などで構成されており、各層はシステムの構成要素であり、各要素は階層関係を持つだけでなく、インターフェースを介して接続されています。 . システムの結合を軽減します。システムの信頼性を向上させる必要がある場合は、システムに冗長コンポーネントを追加する必要があります。

ソフトウェア アーキテクチャは、プロジェクトの初期段階で行う必要がある設計上の決定でもあります。つまり、ソフトウェアのコア コンポーネントをアーキテクチャの観点から考え、何が重要かを判断し、これらのアーキテクチャ要素を良好な状態に維持することです。ソフトウェアアーキテクトは、どの要素が重要であり、どの要素が制御されていない場合に重大な問題を引き起こす可能性があるかを特定できます。ソフトウェア開発の初期段階で基本構造の正しい選択や優れた構造の設計が行われなかった場合、その後のソフトウェア システムに品質上の問題が発生し、修正が必要となり、そのような修正にはコストがかかり、結果が大きく損なわれることになります。機能が低下し、動作が遅くなり、欠陥が増えます。したがって、ソフトウェアのアーキテクチャとその設計は非常に重要です。

では、ソフトウェアテストにはアーキテクチャや基本構造はあるのでしょうか? つまり、ソフトウェア テストにはいくつかのテスト要素とその関係があるのでしょうか?テストの効率と品質を向上させるために、これらの要素と関係を研究する必要がありますか? 実際にそれは存在します. 注目すべき例の 1 つは、図 1 のケースに示すように、自動テスト フレームワークまたはテスト プラットフォームのアーキテクチャです。ソフトウェアテストの特定のニーズ。したがって、ソフトウェア テスト プラットフォームのアーキテクチャを単純に一般的なソフトウェア アーキテクチャとみなすことはできません。

写真

図 1 Alibaba Cloud テスト プラットフォーム アーキテクチャ TestMaster の概略図

自動テスト プラットフォームに加えて、特定のテスト プロジェクト用の一連のテスト モデリングもあります。

  • テスト要件のモデリング(場合によってはテスト設計も含まれる) - 比較的単純な分類ツリー、ブラック ボックス テスト手法 (図 2 を参照)、因果関係図、状態などのよく知られたモデルベースのテスト手法 (MBT)図 3 に示すように、ツリー、有限状態マシンなどのほか、より複雑なモデリング、シンボリック実行、モデル チェックなども可能です。

  • テスト計画の設計には、テスト項目、テストのリスク、テスト方法、その他多くのテスト要素を特定し、それらの関係を判断する方法が含まれます。

  • テストゴールの分解方法、テストスイートの構築方法、スクリプトベーステストにおけるテストケースの編成方法(階層分割を含む)など、 テストケースの構造

  • 探索的テストの設計、テスト目標をミッションに分解し、次にミッションをセッションに分解する方法。

  • 自動テスト スクリプトの設計、テスト スクリプトをカプセル化して階層に分割する方法など。

写真

図 2 ブラック ボックス テスト手法をモデルに抽象化する

写真

図3 シンボリック実行モデルの模式図

ソフトウェア テストは、開発はおろか、ビジネスからも切り離すことはできません。ソフトウェア テスト チームまたは関連担当者は、ビジネス アーキテクト (またはビジネス アナリスト)、プロダクト マネージャー、およびソフトウェア開発アーキテクトと通信し、要件のレビューや (技術アーキテクチャと機能の構造) に参加する必要があります。 、UIなど)デザインレビュー、ビジネスアーキテクチャ、製品構造、技術アーキテクチャなどを理解します(これらの内容が理解できなくても、後ほど詳しく説明しますのでご安心ください)。テスト計画を設計し、より効果的にテストを実施します。たとえば、階層化テスト、精密テスト、契約テストなどはすべてテスト モデリングの影響を受けます。これには機能テストだけでなく、パフォーマンステスト、セキュリティテスト、信頼性テストも含まれており、これらの特別なテストの結果を分析するには、システムの技術的構造と製品構造を深く理解し、欠陥の分析と特定を完了する必要があります。さらに重要なことは、いくつかの非機能的な欠陥は、技術的なアーキテクチャの設計レビュー中に発見されることさえあり、この時点で設計上の欠陥を修復するコストは、システムの特別なテスト後の修復コストよりもはるかに低くなるということです。

テスト モデルは、 W モデル、TMap などのテスト プロセス モデリングにさらに拡張されます。図 4 に示すように、アジャイル テストのプロセス モデルは次のとおりです。

写真

図 4 アジャイル テスト プロセス モデル

最後に:以下の完全なソフトウェア テスト ビデオ チュートリアルが編集され、アップロードされています。必要な友人は自分で入手できます[100 % 無料を保証]

ソフトウェアテスト面接文書

私たちは高給の仕事を見つけるために勉強しなければなりません。以下の面接の質問は、アリババ、テンセント、バイトなどの一流インターネット企業の最新の面接資料からのものであり、バイトの上司の中には権威ある回答をしている人もいます。 set 面接情報に基づいて、誰もが満足のいく仕事を見つけることができると思います。

おすすめ

転載: blog.csdn.net/wx17343624830/article/details/132806877