how perform backend testing
バックエンドテストとは何ですか?それを実行する方法は?
ソフトウェアアプリケーションは複雑です。目に見えるもの以上のものがあります。
最も システムテストの取り組み GUIを通過します。これは、テストによって、ソフトウェアがエンドユーザーによる「使用に適している」かどうかが検証されるためです。エンドユーザーはGUIを使用し、私たちも同様です。そのため、この分野でソフトウェアがうまく機能することが非常に重要です。
ただし、ソフトウェアには他にも多くの要素があり、直接表示したり、ユーザーが直接操作したりすることはできません。これらの要素の重要性が低下することはなく、徹底的なテストを受ける必要があります。
これらすべての適切に機能する要素の組み合わせにより、完全に形成されたソフトウェアアプリケーションが作成されます。 「バックエンド」として直接表示されないものはすべて組み合わせることができます。
バックエンドテスト要素のいくつかは次のとおりです。
- データベース
- API
- サーバー
アプリケーションの性質に応じて、バックエンドにはさまざまなネットワーク構成、通信プロトコルなどを含めることができます。ただし、ほとんどの場合、3つの要素があります。
ここで、これらの各コンポーネントのテストに何が含まれ、どのように行われるかを見てみましょう。
学習内容:
バックエンドデータベースのテスト
「バックエンドテスト」という用語が使用される場合、最も一般的には、データベーステストを意味します。
データベースは、あらゆるアプリケーションの重要な要素です。 GUIとDBがシームレスに相互作用する場合、アプリケーションは適切に機能します。問題があると、一貫性のない結果、セキュリティの脅威、パフォーマンスのボトルネックが発生します。
データベースは通常、次の場合に検証されます。
- ACIDプロパティ
- CRUD操作
- スキーマ
- 移行
- ビジネスルールへの適合
- セキュリティ
- パフォーマンス
高度なETLおよびデータウェアハウス保守システムでは、それらに対してもテストを実行する必要があります。
詳細については これらのテストタイプ 、すでに当サイトに掲載されている以下の記事をご覧ください=>
上記のリンクの内容に加えて、繰り返す重要な側面は、データベース、ETL、およびデータウェアハウスのテストには、 SQL 。
テスターは、クエリを介してDBの動作を操作および検証するために、多くのツールを使用することがよくあります。
これらのバックエンドデータベーステストツールのいくつかのカテゴリを見てみましょう。
#1)データベースに接続してクエリを実行できるようにするインターフェイス。
GUIを備えているものと備えていないものがあります。
- ヒキガエル: 誰もがこれを聞いたことがあると思います。多くのDBとプラットフォームをサポートしています。無料版と商用版の両方があります。詳細、リソース、および無料バージョンは、にあります。 toadworld
- pHpMyAdmin: これは、クエリを実行し、ユーザーインターフェイスを介してDBと対話できる優れたオープンソースツールです。私はこれを個人的に使用しましたが、私のチームはツールがいかに直感的であるかを気に入っています。快適になるためにトレーニングは必要ありませんでした。 MySQLおよびMariaDBデータベースへの接続メディアを探している場合は、このツールを強くお勧めします phpmyadmin
- HeidiSQL: pHpMyAdminと非常によく似ています。 MySQL、Microsoft SQLデータベース、およびPostgreSQLに接続します。オープンソース。詳細については、をご覧ください。 hheidisql
ツールのリストは無限ですが、上記は最も人気のある選択肢のいくつかです。
#2)DB負荷およびパフォーマンスベンチマークツール:
- HammerDB: これは、多くのDBエキスパートが保証するオープンソースツールです。私は個人的にこれを使用していませんが、多くのデータベースをサポートしています。スクリーンショットとその外観から、それはチェックする価値のあるツールのように見えます。詳細については、 Hammerdb
- SLOB: Silly Little Oracle Benchmarkツールは、DBトランザクションのI / Oスタイルの時間を計って評価するのに役立ちます。これは、システムでのバルクトランザクションのCPU、メモリ、および処理時間を理解するのに役立ちます。詳細については、 ケビンクロッソン
- スイングベンチ :これはHammerDBと非常によく似たツールです。これはOracleDBで機能し、非常に効果的です。ツールとその機能を理解するには、次のガイドを試してください。 dominicgiles
APIテスト
APIは厳密に言えばバックエンドではありませんが、エンドユーザーに表示されないものはすべてバックエンドとして大まかにグループ化されているため、これについても簡単に説明します。
APIはApplicationProgram Interfaceの略で、これは基本的にすべてのプログラミングロジックが存在する場所です。テストに関して最大の課題の1つであるUIはありません。一方、APIは通常、アプリケーションのUIが存在する前に作成されるため、APIのテストは通常、早期テストを意味します。
jnlpファイルウィンドウを開く方法10
入力データと出力データを直接送受信する代わりに、メッセージングと送受信呼び出しが使用されます。
APIテストに使用される最も人気のあるツールはSOAPUIです。
- =>でのSoapUIに関する広範なチュートリアルとしてのSTH 15以上のSoapUIチュートリアル–SoapUIの完全ガイド
- HPUFTもこれを支援します=> HP UFTの16の新機能–QTPとUFT
すべてのデータベースとアプリケーション自体は、これらのシステムを稼働させ続けるサーバーにインストールされます。
ここで実行されるテストがいくつかあります。
#1)インストール: インストールが完了したら、それぞれのフォルダーに移動して、ファイル/要素が想定どおりにターゲットフォルダーに到達したことを確認できます。さて、「すべてがどこに行く必要があるかをどうやって知ることができるのか」と疑問に思っている場合は、開発チームまたは展開チームに尋ねてください。
この手順は必須ではないかもしれませんが、一部の企業は手動展開を使用しています。その場合、それは重要になる可能性があります 煙/健全性テスト ステップ。
#2)ログ: サーバー内のすべてのトランザクションのステータスについて維持されるログがあります。これにより、エンドツーエンドのプロセスが成功したかどうかについての洞察が得られます。
フロントエンドが有効なデータを送信していて、データベースが正しく更新される場合があります。この操作が例外をスローしたり、メモリリークを引き起こしたり、何らかの誤動作を引き起こしたりした場合はどうなりますか?この情報を公開するのはサーバー側のログです。
これは規則ではありませんが、一般的に、ほとんどのサーバーはUNIXベースのシステムです。したがって、それらを簡単に処理できるようにするには、サーバーに接続する方法が必要になります。
PuTTy、ハンズダウンはサーバーに接続するための最も一般的な選択肢です。 パテ はオープンソース製品であり、インストールする必要はありません。あなたがしなければならないのはそれをダウンロードして使用することだけです。
UNIXシステムにはグラフィックユーザーインターフェイスがないため、アプリサーバーやDBサーバーとして最適です。それらは安全で、抽象的で、より速くそしてより安価です。 UNIXには多くの種類があり、GUIがないため、サーバーと通信するためにコマンドを使用する必要があります。私たちは皆、のための頼りになるリソースを持っています UNIXコマンド そしてこれは私のものです: フリーエンジニア
#3)サーバーのパフォーマンスとセキュリティ:
ソフトウェアの他の部分と同様に、サーバーは安全で応答性が高い必要があります。
関数c ++で配列を使用する
これをチェックし、あなたに合ったツールを見つけるために利用できる多くのツールがあります、このリストをチェックしてください: 30以上の最も人気のあるWebアプリケーションテストツール
最後に、
お気づきのことと思いますが、この記事だけでは、バックエンドテスト全体を学ぶことはできません。ただし、それを習得するのに役立つリソースとリファレンスを示しています。だから、参考のためにブックマークしてください!
また、機能テストはGUIとフロントエンドがすべてだと考える傾向がある私たちにとって、この記事ではそうではないことを明らかにする必要があります。
DBを調べている場合でも、ログでトランザクションのステータスを確認している場合でも、特定のサービスに要求メッセージを送信している場合でも、使用するプログラムの適合性を検証しています。
言い換えれば、それは機能です。 「テストする場所」と「テストする方法」は異なります。
アプリケーションが成功するためにすべての端から機能しなければならないのと同じように、テスターはソフトウェアシステムの多くの側面を理解して調査し、使用できる状態にあることを宣言する必要があります。
著者について: この記事はSTHチームメンバーのSwatiSによって書かれました。
共有する番です!
この記事でどのようにしたかを教えてください。他に行うタイプのバックエンドテストはありますか?どのツールを使用していますか?どのようなテクニックが役に立ちましたか?何か課題はありますか?
あなたのコメント、質問、参加、読者は私たちにとって貴重です!