8

自動化の実装を開始したい。これがリソースの有効利用になるかどうかはわかりません。アプリケーションは指数関数的に成長していますが、自動化がどの時点でテストに役立つかはわかりません。

手動テスターがいるのに自動化する理由を教えてください。

4

11 に答える 11

6

自動化は、ほとんどの場合、テストに適した方法です。手動テストは依然として重要ですが、エラーが発生しやすく、手動テスト プロセスが完了するまでに数日または数週間かかるようになると、更新プログラムを迅速に展開することが難しくなります。通常、プロジェクトの開始時に自動化をセットアップする方が簡単です。これは、自動化するものが少なくなるためです。また、自動化フレームワークが整ったら、プロジェクトの成長に合わせて簡単に拡張できるはずです。

すでに完全に実装されたプロジェクトでテストを自動化しようとすると、おそらく最初から自動化するよりも多くの作業が必要になるため、できるだけ早く飛び込むことをお勧めします.

于 2010-04-27T23:38:55.557 に答える
4

自動化するのは、「実行」を押して結果を 10 分間待つということは、テスターがアプリケーションの子守をする代わりに、その 10 分間に他の有用な作業を行うことができることを意味するからです。

自動テストは毎晩、睡眠中に実行される可能性があることに注意してください。テスターは、同じ古いテストを何度も実行する代わりに、勤務時間を使用して新しい有用なテストを作成できます。

最大の理由は、出荷直前に小さな変更を行った場合、自動化されたテストを使用すると、「変更は単純で、何も壊れてはならない」にもかかわらず、ためらわずにテストを実行してしまい、ため息が出てしまうからです。自動化されたテストが、あなたが導入して出荷しようとしていたバグをキャッチしたときの安心感。

于 2010-04-27T23:35:04.037 に答える
3

会社で働く人によると思います。自動化が好きな人もいれば、あまり好きではない人もいます。あなたの会社が今までにそれを実装しようとしていない場合、それを実装するのは難しいかもしれません.

私が自動化を好むのは、時間 (既に述べた) と、ほとんどの場合、自動化で何が得られるかを知っているからです。

両方が必要ですが、製品が成長するにつれて、自動化とテストなしでは非常に困難になります。

于 2010-04-27T23:53:40.420 に答える
2

テストを自動化する理由は、今行ったことが正しいという一貫性のある、再現性のある、タイムリーなフィードバックを得ることができるということです。

手動テストもその役割を果たしますが、すべてを適切にカバーしていると確信するのは難しく、自動テストほど迅速には行われません。

たとえば、私のプロジェクトの1つは、いくつかのヒューリスティックを使用して検索スペースを歩き回り、適切なソリューションを探す最適化アルゴリズムです。現在、個別にまたはさまざまな組み合わせで使用できる約40の異なるヒューリスティックがあり、顧客とのすべての会議には、新しいヒューリスティックの追加または既存のヒューリスティックの拡張が含まれるようです。ある顧客に対するこの作業のいずれも、別の顧客に対する回帰を引き起こさないことを絶対に確信する必要があります。これには、数百の異なるケースでアルゴリズムを実行し、出力が以前の状態であるかどうかを確認することが含まれます。

GUIをロードし、入力ファイルを開き、[実行]をクリックして、これらすべてのテストケースを実行するように手動テスターに​​依頼することは実用的ではありませんが、少なくとも、有用なフィードバックメカニズムとしては十分ではありません。テストは通常​​、短いテストでは1日に数十回実行され、より重いテストでは毎晩実行されます。手動プロセスでは、完全なフィードバックにはおそらく数日かかります。数日前に発生したバグを修正することは、過去30分以内に発生したバグを修正するよりもはるかに困難です。

また、結果の「目による」チェックが以前と同じように良好であることを確認することは非常に困難であるため、結果のチェックを自動化する必要があります。しかし、それを自動化する場合は、すべてを自動化することもできます。それは難しいことではありません。

自動テストのさらなる利点は、何もなかったプロジェクトでの作業の経験から、広範囲に文書化されていない手動テストがある場合、プロジェクトが1年間(明らかに「メンテナンスモード」で)休止しているときにその後、アクティブな開発を再開します。テストの実行方法や期待される結果を誰も完全に思い出せず、ピン留めするのに何年もかかる愚かな回帰の山全体を導入することになります。一方、テストを1年後に取得できるように十分に詳細にドキュメント化する場合は、基本的にすでに自動化されています。ドキュメントを実行可能にするだけです。

私の経験では、2時間前にテストを開始する必要があることに突然気付く時点の約2時間前にテストを開始する必要があります:)

于 2010-04-27T23:48:24.870 に答える
2

手動テスターがいるのに自動化する理由を教えてください。

自動化できるものはすべて自動化します。人間の脳を使って、機械が再現可能な方法で行うことの付加価値は何ですか? そして、個人的な開発はどうですか?私は人間の脳を、機械よりも優れたものに使用することを好みます。考えてみてください。

于 2010-04-28T21:16:12.213 に答える
1

手動テストでは、テストを繰り返すのは苦痛であり、エラーが発生しやすくなります。アプリケーションが変更されている場合は、テストを繰り返す必要があります。

于 2010-04-27T23:39:33.333 に答える
0

プログラムのサイズとテストの数が時間とともに直線的に増加し、継続的な(毎日の)統合テストと回帰テストを実行したいとします。その場合、初日は1つ、2日目は2つ、3日目は3つというようにテストします。

手動テストの総テスト作業は、プログラムのサイズの2乗に比例して増加します。これは、再テストと再テストのためです。

自動化しないと、定期的な完全な回帰テストを実行できません。

于 2010-04-27T23:47:01.500 に答える
0

自動化を開始する前に、アプリケーションが十分に安定していることを確認するなど、いくつかの経験則があります。次に、最初に主要な (機能の重要な部分のみ) 部分に触れるスモーク テスト スクリプトを作成するなどして、自動化を開始してみてください。たとえば、銀行のアプリケーションの場合、最初は、ユーザーがログインして自分の口座残高などを確認できるかどうかを自動化するだけで、多かれ少なかれ何もありません。このようにして、アプリケーションが時間の経過とともに安定するにつれて、スクリプト リポジトリを増やしてみてください。しかし、最も重要なことは、自動化によって解決したい目的は何なのかを自問することです。

以下のリンクも役立つ場合があります。

自動化テストを開始するための前提条件

テストの自動化を計画する方法

于 2014-12-25T06:18:01.023 に答える
0

できるだけ早く自動化する必要があります。多くの調査では、開発サイクルで欠陥が発見されるのが遅いほど、修正にかかる費用が高くなることが示されています。一般に、自動化により、可能な限り早い時期に欠陥を見つけることができます (これらの自動化されたテストを実際にできるだけ早く実行すると仮定します)。

自動化されたテストの作成を開始するのが早ければ早いほど、開発者はそれらの自動化されたテストの実行を開始したり、継続的インテグレーション環境で実行したりできます。そして、それが実現すれば、欠陥をより早く発見できるため、会社の資金が節約され、開発者はより高品質のコードをリリースできるようになるため、満足することになります。また、リグレッションが発生するかどうかをすぐに確認できるため、自信を持って変更を加えることができます。

さらに、品質管理エンジニアは、ほとんどの作業が完了した後で自分の努力が最後まで続くと感じるのではなく、プロセス全体の一部となります。

于 2010-04-28T22:30:14.247 に答える
0

テストをより効率的にします。手動のテスターがいても、彼ら (またはあなた) が自動テストを実装できれば、さらに多くのケースを調べることができます。独自の自動テストを作成すると、独自のコードについての洞察も得られる場合があります。

于 2010-04-27T23:34:03.770 に答える