ソフトウェアテスターは、自動化について何を知っている必要があります(翻訳)

あなたが理解して手動テストを使用している場合でも、自動テストの進捗状況について、まだどのくらい重要です。どんなに自分の役割が何であるか、あなたの毎日の仕事はまだこの記事の方法の少なくとも一部を使用することによって強化される可能性はありません。ここでは、いくつかの一般的な用語の意味を学び、そのうちのいくつかは、ソフトウェア開発の工場に適用されないことがありますか。

最近、私は自動化ソフトウェアテスターに​​ついてのつぶやきの世界は何が起こったかであることを理解する必要があります。それは素敵な暖かい返信を持っているので、私は私が私の考えを明らかにしなければならないと思いました。

どんなに自分の役割は、あなたの毎日の仕事でのテスト中にあるもの、これらの日は、強化されているそのうちの少なくともいくつかは、次のような方法で可能になります。私は、これらの用語は、一例を意味するものの理解の最低レベルから、彼らはソフトウェア開発工場で使用することができることを示唆しています。

継続的インテグレーションサービス

ソフトウェア開発の変更の自動化の分野で来て、過去十年間で最大の一つは、タスクの自動化です。過去には、アプリケーションの特別なバージョンを構築文書を作成したり、バグレポートの状態を更新するようにして人工的です。いくつかのチームでも「創設者」の責任の責任のバージョンを開始するに貢献しています。これらのヒューマンタスク(または緊密に人や機械にバインドされている)のように、それは時間がかかり、そのような一日を占有し、新バージョンが完成さ阻止するために、民間人の作成などのボトルネックを回避するために作成することです。

幸いなことに、継続的インテグレーション(CI)は、タスクを可能にすることにより、保存するためのツールを標準化し、自動化されています。アレンジと通常のデスクトップコンピュータ上でタスクを実行するための重要な課題は、これらのタスクを実行して行うことができます継続的インテグレーションサービスはむしろ、独自よりもターゲットマシン上で実行されています。手の甲に責任を自分のマシン上のバージョンを作成するには、ボブに代わって、例のバージョンを作成するために、継続的インテグレーションサービスは、ターゲットマシンを選択し、そのマシン上のバージョンを実行するために統合することができます。ボブは、物理的にマシンのその段階のバージョンで表示されている必要はありませんが、またバージョンのスケジュールまたは別のアクションに応じてどちらかの、いずれかの時点で発生する可能性がありますを作成するだけではなく。

例えば、アリスは、エラーが修復されているかどうかを変更するために、アプリケーションの最新バージョンに基づいてプログラムを見るために、人をテストすることをお勧めします、と彼女は創造の独自のバージョンを開始することができます。これは、自由に稼働代表のタスクからリソースを行うだけでなく、チームは個人とチームのプロセスでより多くの制御を与えません。あなたはまた、より深いスレッドへの継続的な統合タスクいくつかのタスクと結合することができます。継続的な統合作業が良いプライマー中の自動化に重点をたくさん入れないプログラムされている方法を学びます。

継続的インテグレーションテストスイートを使用するための一つの方法は、端から端まで実行されます。これらのテストは、多くの場合、数分でも時間を実行する必要があります。私は、アップスピンとスピンダウンテストマシンを、それらのテストマシンでのテストを開始するための継続的な統合を使用していました。テストは他の作業を行うために周りに実行したとき、それは、開発者がテストすることができますので、大きな助けで自分のマシン上でこれらのテストを実行する相対。継続的インテグレーションサーバは、これらのタスクの全てのあらゆる側面を制御します。

いくつかの一般的なオープンソースの継続的インテグレーションサービス・ツール・ジェンキンス、クラウドベースのトラビスCI、および独自のツール竹の例が、これらはまた、いくつかの他のです。さらに低い技術は、単一のマシンでタスクを自動化するまでのクローニングまたはWindowsタスクの担当者のようなツールを使用することです。

CIは趣味外のソフトウェア開発のための独立したプログラムであり、そしてそれは本当に価値を付加テストする場所です。

現代のソース管理

私は最初、私はソースを愛する全ての指摘する必要があります。(またはブログ!)のコードを書くときに、それだけで便利なツールではありません。コーディングテスターのために、それは精神的な人物である必要はありません。テストがコードしていない場合であっても、コントロールの近代的な方法を使用するためのソフトウェアをテストする際には、大きな関心の源であってもよいです。

現代では私が何を意味するのですか?私は、ソースコントロール1)、このようなCIサーバや問題追跡などの他のツールとの統合を使用することを意味し、及び2)などのトランクベースの開発など良いチームワークフローの習慣、使用することができます。良いソースコントロールは、個人が変化し、より深いマイニングソフトウェアエンジニアリングが行われているものを分析することができます。

歴史のクローズソースといくつかの基本的なトレーニングテストは、ようなコードを尋ねる「それらのほとんどの開発作業があるアプリケーションでどの書類?」「最大の変化を持っているファイル?」「問題の原因が含まれている変更を設定します?「待ちます。この情報は、ペースと暗示トリガーいくつかのイベントを見つけましょう。

さらに強力なソースコードとCIの統合。イベントでの開発によって引き起こされる変化に自分のステータスの更新を作る問題追跡。テスター要件は、必要な要件が自動的に、自動テストパターン、またはコードの要件などによって、コードの入力を見つけることができています。構築と展開は、コードを変更するために開始することができます。ソース管理は非常に良い使用である場合には、このような場合には、それが持続的な転送の概念の後に暗示されている多くの可能性があります。

例えば、私は提出者が提出したすべてのを確認するためにクラウドサービスデリバリを統合し、オープンソースプロジェクトに基づいて仕事をしています。このプロジェクトでは、継続的な統合と自動化されたテストは、フォームやフォーマットコードのすべての増加を確認し、すべて実行します。あなたが偽のテスト結果を提出、またはスタイルガイドのセットを満たしていない、と提出に失敗した場合には、提出を修正するために提出し、プロジェクトのメンテナを意味します。これは、均一なスタイルでオファーを提出し、提出者は、小さなエラーでモジュールを追加または更新することを示唆している各プロジェクトの歴史の中で役立ちます。

これらは、ソースコントロールで現在熱いすることは、堅牢な周囲の生態系を持っている、Gitは、自由でオープンなコードです。これらはまた、のようないくつかの他の側面、あるSubversionの、MercurialのとMicrosoftのTeam Foundation。

テレメトリおよびモニタリング

これは私が精通していないです話題ですが、興味を持っている人たちを決定するための試験です。モニタリングは、フックは、ソフトウェアは、ソフトウェア作成者に使用される方法に関する情報を戻ることを一つのアプリケーションから配置され、方法です。使用することができ、それは、正/サーバアプリケーション・プログラム・インターフェース機能の後端部を含み、かつ組成物のユーザインタフェース部によって命令が使用され、どのような周波数で、等します。

目標は、背中の開発チーム、使用されており、部品が使用されている方法を適用に関する一般的な情報への特別なユーザー情報を送信することはありません。これは、彼らが実際にアプリケーションを使用して、どのように特定の属性を取得する方法を、何をすべきかのエンドユーザーの視点を提供します。Lanpeiマイクロソフトは、彼が行っていたこれらのクールなものについて簡単に説明していた遠隔測定と監視による部分をテストしています。

、監視が簡単な質問(「どのように多くの人々先週のレコード?」)、より具体的かつ視覚的な問題のために(「ユーザーがリリースどのように特性Xから、あなたが見つけるリソース制御を最小限にするために同様の歴史を助けることができます彼らの習慣を変更するには?「)。これらは、ユーザーがチームよりよい選択を支援するために、一般的に、より良いテスト戦略を実行し、それらをテストするために役立つ質問の種類があります。

詳細については、ABテストポッドキャストページとブレント・ジョンソンを確認してください。主流製品のテレメトリを使用する方法は、Firefoxでモニタリング技術Mozilllaを使用する方法を見てみましょう。

セレンも使用

最後になりましたが、確かではない以上、セレンwebdriverをテストWebアプリケーションでの作業は、どちらかのかなりの使い慣れたツールが必要です。この時点で、webdriverをブラウザでどのように人間のユーザインタラクティブなウェブサイトのアプリに似た自動ドライブブラウザの動作のための標準的なツールです。これは、いくつかの言語バインディングを持っている、といくつかの主流のブラウザでは動作し、かつ拡張APIの例の最初のコンポーネントであることができる非常に良いの開発です。要するに、それは素晴らしい作品です。

柔軟性に使用する場合は、webdriverをテストと開発が自動化された取得するユーザーエクスペリエンスのテストを行うことができ、これは継続的なプロセスを渡すことができますに配置することができます。私はあなたがランディングページへのナビゲーションリンク等の取引を見つけることができ、簡単なWebベースの走行テストを書いたのではなく、(不良により展開に)ユーザー名とパスワードの機会を探している、またはコントロールがクリックされたときに開かれた対話を探します(明らかに深刻な問題を)想像します。これらはすぐに発見されるが、ユニットテストでカバーすることができないものです。

webdriverをも非予約方法の重要な特徴を中断しませんこれらの変更を再確認するために、ローカルに実行することができる自動テストを書くために使用することができます。これらは、webdriverを、機能テストを超えても、に有用です。

テストは関心のコードがある学ぶためには、webdriverを、コードを学ぶための良い導入を提供することができます。自動テストスクリプトは、コードのプログラミング言語に慣れるのではなく、より深い分裂を掘るための簡単な方法することができます。これは、開始とまだ良いテストが完了されていることを確認するための十分なフレームワークを提供します。

脳は、ソフトウェア開発においてYESのないものを自分の役割、テストの自動化を強化し、これらの概念を持っています。

おすすめ

転載: www.cnblogs.com/fengye151/p/11519233.html