2

自動化された受け入れテスト フレームワークには SpecFlow を使用し、持続性には NHibernate を使用しています。私が取り組んでいるイントラネット アプリケーションの UI ページの多くは、基本的なデータ入力ページです。明らかに、これらのページの 1 つにフィールドを追加することは「機能」と見なされますが、この機能以外のシナリオは考えられません。

Given that I enter data X for field Y on Record 1 
And I click Save 
When I edit Record 1 
Then I should data X for field Y

このようなテストを自動化することは、どれほど一般的で必要でしょうか? さらに、私は NHibernate を使用しているため、独自のデータ永続化レイヤーを手動で処理しているわけではありません。プロパティをマッピング ファイルに追加すると、誤って削除されない可能性が高くなります。これを考慮すると、「1 回限りの」手動テストで十分ではないでしょうか。この件に関するあなたの提案と経験を聞きたいと思っています。

4

1 に答える 1

2

私は通常、成功事例をテストする「...の作成の成功」のようなシナリオを持っています(すべての必須フィールドに入力し、すべての入力が有効であり、確認し、最後に実際に保存されます)。通常、作成が成功するシナリオでは、他のいくつかの基準を「同時に」満たす必要があるため、1つのフィールドに個別のシナリオを簡単に定義できるとは思いません(たとえば、すべての必須フィールドに入力する必要があります)。

例えば:

Scenario: Successful creation of a customer
Given I am on the customer creation page
When I enter the following customer details
| Name | Address |
| Cust | My addr |
And I save the customer details
Then I have a new customer saved with the following details
| Name | Address |
| Cust | My addr |

後で、このシナリオにフィールドを追加できます(請求先住所など)。

Scenario: Successful creation of a customer
Given I am on the customer creation page
When I enter the following customer details
| Name | Address | Billing address |
| Cust | My addr | Bill me here    |
And I save the customer details
Then I have a new customer saved with the following details
| Name | Address | Billing address |
| Cust | My addr | Bill me here    |

もちろん、定義または拡張する必要のある、新しいフィールドに関連するシナリオ(検証など)がさらに存在する可能性があります。

このアプローチをとれば、多くの「些細な」シナリオを回避できると思います。そして、これは「顧客の作成機能」の成功事例であり、少なくとも1回のテストに値すると言えます。

于 2011-06-15T11:28:01.917 に答える