テストでのアルゴリズムとデータ構造の役割または重要性は何ですか?

私の理解によれば、DS/Algosの使用はいくつかの問題を解決することです。確かに、DS/Algosはテスト自動化の日常業務ではほとんどコード化されていません。私の質問は、テスト自動化以外のDS/Algosの使用ですか?

ベストアンサー

あなたが言うように、データ構造とアルゴリズムは毎日の自動化作業にはあまり見られません。

しかし、より高いアーキテクチャレベルでは、データ構造とアルゴリズムは非常に関連しており、構造を提供し、テスト自動化コードを複雑にするために、テスト自動化作業には必ず現れます。

実践的なレベルで:
1回のテストでは必要ないかもしれません。
2回のテストでは必要ないかもしれません。自動化がスケーラブルであるように、構造と簡単に保守可能で拡張可能なコードを持つためには、1000個のテストで確実に必要になります。

例:
Page Objectファクトリを使用することは、12個程度の要素セレクタを持つ1つまたは2つの簡単なテストには関係ありません。
160個のテストと500個の要素セレクタがある場合は、その構造を使用することが不可欠です。

この側面がなければ、テストスイートは単純に成長し、時間とともに長くなり、断続的なエラーが発生しやすくなります。私はRubyのスイートが1時間に1時間から20時間に1つの組織で成長するのを見ました。誰もデザインパターンやアルゴリズムでそれをリファクタリングしたことはありませんでした。その結果、大量の駄目に終わってしまいました。これは、絶えずリファクタリングされているテストスイート、削除されたテストなどとは対照的に、高品質テストを維持する必要が明らかになるにつれてコードリファクタリングが行われます。

アプリケーションコードが成長するにつれて常にリファクタリングされていなければ、アプリケーションコードが時間の経過とともに混乱するのと同じ方法で、同じ原則が自動化コードに適用されます。パターンとアルゴリズムと構造は、アプリケーションコードに含まれるものとまったく同じではないにしても、似ていることがよくあります(ここではコードはここで言います)。いくつかの設計パターンは、アプリケーションまたは自動化コードに関連しています。

btw、多くのテストフレームワークもデザインパターンの実装を使用しています

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です