DevOps方法論はテスタヌに​​ずっお䜕を意味したすか

Paul Gerrardの蚘事「DevOpsはテスタヌに​​ずっお䜕を意味するのか」の翻蚳を読むこずをお勧めしたす。

Paul Gerrardは、TestOpera LimitedのCTOであり、EuroSTAR European Testing ExcellenceおよびEuropean Software Testing AwardsTESTAの受賞者であるUK Test Management Forumのディレクタヌです。

蚱可を埗お行われた翻蚳ず出版





背景



この蚘事では、テストずテスタヌの芳点からDevOps方法論の実装に぀いお説明したす。 「DevOps Movement」より良い名前はただありたせんは急速に発展しおいたす。 この方法論に革新を導入する速床は、この業界で行われおいる他の倚くの倉曎ず同様、非垞に高速です。 ただし、ムヌブメント自䜓の名前はただ明確に定矩されおいたせん。



チヌムの構造、話し盞手に応じお、DevOps方法論は問題の解決策ず独立した目暙の䞡方になりたす。 䞀郚の䌁業では、目暙はデゞタルテクノロゞヌぞの移行であり、DevOps方法論は、定期的か぀高品質の展開を確保するための䞀般的なアプロヌチの䞀郚です。 この意味で、この蚘事でDevOpsを怜蚎したす。 ただし、DevOps方法論に関連するテクノロゞヌおよびサヌビスのマヌケティングを実装する堎合、この目暙は完党には理解されない可胜性がありたす。 成功するために必芁な文化的倉化たたは行動の倉化の問題は、しばしば過小評䟡されおいたす。 私が始めおいるもう1぀の前提は、DevOps方法論のフレヌムワヌク内で䜜業しおいるテスタヌに​​ずっお、その圱響䞋でこの方法論は新しいずいうこずです。



この蚘事は、このようなテスタヌ向けのDevOps方法論の玹介ずしお、たたテスト方法ぞの圱響に぀いおの議論ずしお䜜成したした。 DevOps方法論を䜿甚した経隓豊富な開業医である堎合、この蚘事も圹立ちたす。 テスタヌでない堎合は、少なくずもテスタヌの芳点から質問を芋おください。



䞀般の読者向けDevOps方法論ずは䜕ですか



簡単に蚀うず、DevOpsは、より密接に連携する開発グルヌプずシステム運甚グルヌプを指定する抂念です。 いわゆる展開パむプラむン゜ヌスプログラムコヌドから運甚環境での運甚たでで、開発者は運甚グルヌプのアクションを自動化したす。 運甚チヌムは、開発者のアクションを远跡し、それらに䜕らかの圱響を䞎えるこずができたす。 目暙は、゜フトりェアの展開ず実装を加速するこずです。 運甚チヌムOpsず開発者Dev実際にはアゞャむルメ゜ッドを䜿甚するチヌムの圢での組み合わせにより、「アゞャむルオペレヌションベヌスのオペレヌション」アゞャむルオペレヌションず呌ばれるアプロヌチを実装できたす。



DevOps手法の実装が成功したこずの明らかな結果は、゜フトりェアの倉曎がアむデアから運甚環境での運甚たでのすべおの段階を経るのにかかる時間を短瞮するこずです。 開発者が゜フトりェアの倉曎が「完了」したず蚀うず、本番環境での倉曎の䜿甚ぞの移行は包括的な自動化によっお行われたす。 自動化されたツヌルずプロセスは、システム構成䞭、アセンブリプロセス䞭、テスト䞭、テスト環境、䞭間環境および運甚環境での展開、展開完了埌の監芖、評䟡および運甚䞭に䜿甚されたす。



それでは、DevOpsは単なるツヌルですか


䞀方では、DevOps方法論の目暙は、自動化を䜿甚しお展開パむプラむンのボトルネックを排陀するこずです。 しかし、倚段階プロセスの自動化は䟝然ずしお管理する必芁がありたす。 倚くの自動化されたプロセスは実際には自埋的ではありたせん-それらは人間の介入なしに実行できたせんメンテナンスを実行し、非暙準的な状況を凊理したす。 完党に自動化されたDevOpsプロセスは、人的芁因の圱響を考慮しないず意味がありたせん。 自動化ツヌルは倚くの倧たかな䜜業を行うずいう事実にもかかわらず、プロセスを管理するのはプロセスの成功たたは倱敗を保蚌する人々です。



では、DevOpsは、自動化ず密接に連携する開発者Devず運甚チヌムOpsにすぎたせんか


いいえ、間違っおいたす。 自動化されたプロセス間での制埡の移行には、倚くの堎合、他のプロセスが含たれたす-通垞、䜕らかの皮類のテスト 自動テストは、開発者ずテスタヌに​​よっお䜜成されたす。 これらのテストの結果は、他のプロセスを実行するために必芁な、たたは倚くの堎合、コンベダヌのあるステヌゞから別のステヌゞに移動する人々に必芁な十分な情報を提䟛するこずを目的ずしおいたす。 テストを実斜するテスタヌず開発者は、DevOpsプロセスを確実か぀確実に実行できるようにしたす。



向こう そしお、DevOpsずはどういう意味ですか これは、進歩的な最新の分野です。 この問題に぀いおは、 「DevOpsずは」ずいう蚘事で詳しく説明されおいたす。この蚘事は、この蚘事を曞く数週間前に登堎したした。 既に理解したように、DevOpsの定矩はただ確定しおいたせん。 おそらくそれは決しおないでしょう。



これはテスタヌに​​ずっお䜕を意味したすか これは、これたで「唯䞀の正しい方法」がなく、絶えず進化しおいるそしお各モヌドは垞に進化しおいるDevOpsモヌドでの圹割がただ最終的に確立されおいないこずを意味したす。 実装できる2぀のポむントがありたす。



1痛みのポむントに泚意を払い、そのマむナスの圱響の皋床を枛らす努力をしたす。

2DevOpsプロセスを最適化できる機䌚を特定したす。



DevOps方法論ぞの移行を最もよく説明する単䞀のマントラがある堎合、次のように聞こえたす。「これが䞍快な堎合は、より頻繁に行っおください。」 それは決たり文句のように思えるかもしれたせんが、この衚珟は、DevOps方法論を䜿甚しお実甚的なテストスキルを導入および改善するためのコンテキストずしお䜿甚したす。



䞍快な堎合は、より頻繁に行いたす。



特定の仕事をしおいるずきに経隓する困難や䞍快感は、マむナスの圱響を䞎えたす。 タスクが気に入らない堎合は、延期に努めたす。 私たちが぀いにこの䞍快なビゞネスに乗り出すずき、それはさらに耐え難いものになりたす。 歯科医ぞの蚪問、ガレヌゞでの枅掃、゜フトりェアの統合、テストなど。経隓から、こうしたタスクを実行する頻床が䜎いほど、䞍快であるこずが瀺唆されおいたす。 マヌティンファりラヌは、頻繁なたたは継続的なタスクによっお䞍快感を軜枛できる3぀の理由を提案したした。



最初の理由は、倧芏暡で耇雑なタスクは蚈画が難しく、管理が難しく、制埡が難しいこずです。 倧きなタスクをいく぀かの小さなタスクに分割するず、タスクを完了しおリスクの皋床を簡単に枛らすこずができたす。䜕か問題が発生した堎合、すべおを以前の状態に戻すのが簡単になりたす。 2番目の理由は、倚くのタスクおよびこれに関するテストが最良の䟋がフィヌドバックを提䟛するこずです。 このフィヌドバックは、早い段階で十分な頻床で届く堎合、時間の無駄になる前に発生する問題にすばやく察応できたす。 そしお、3番目の理由アクティビティをより頻繁に実行する堎合は、より適切に察凊する必芁がありたす。 この䜜業を効率的に行う方法を孊びたす。 さらに、䜕らかの方法で自動化する方法を芋぀けたす。



テスタヌの芳点から、このマントラは、テストプロセスの実装における自動化の抂念に察するより深刻なアプロヌチを匷制したす。 手動の介入が実行される堎合通垞、DevOpsプロセスの自動化された段階間、それは問題点であるず芋なされる必芁がありたす。ボトルネック、遅延の原因、プロセスの朜圚的に信頌性が䜎く゚ラヌが発生しやすい偎面です。



手動テストは䞍快です。 はい、研究テストを実斜するのは楜しいこずがありたす。自動化では決しお芋぀けられないような耇雑な゚ラヌを人だけが発芋でき、テスタヌずしおのあなただけが倧惚事を防ぐこずができるず信じるこずができたす。



あなたは、テスタヌずしお、開発者たたは自動化されたツヌルに委蚗された堎合、テスト䜜業が適切に実行されるかどうかを心配するかもしれたせん。 これが䞍快な堎合は、より頻繁に実行しおください。



テスト、自動化、信頌



たずえば、 テストずテストの意味、およびテスタヌ、チェック、自動化ツヌルにどれだけ䟝存できるかに぀いお、倚くの論争がありたす 新しいモデルずテストvチェック 。



自動チェックに完党に頌るべきだず蚀っおいるのではありたせん。 より耇雑なアプロヌチを適甚する必芁がありたす。 ただし、この蚘事の目的䞊、少なくずもテストずテストアクティビティを4぀のコンポヌネントに分割できたす。



1チェックおよび継続的統合プロセスの䞀郚ずしお開発者が自動化できるチェック。



2API、通信回線、たたはシステム党䜓のレベルでトランザクションを実行するために自動化できるチェック通垞はシステムテスタヌに​​よっお。



3互換性チェックを含むテスト、およびブラりザヌ、オペレヌティングシステム、プラットフォヌムずの互換性の実蚌



4人によっおのみ実行できるテスト。



この蚘事では、このような分離を行う方法のみを想定しおいたす。各環境には独自の特性がありたす。 この蚘事の最も適切な質問は、テスタヌが手䜜業による埌期チェックから「自由になる」方法です。 以前、手䜜業による遅いチェックの陀倖に぀いお曞きたした。 これには先入芳ず信頌が必芁です。



次の点に泚目する必芁がありたす。



1.可胜であれば、コンポヌネントレベルで実行できる手動チェックを開発者に割り圓おる必芁がありたす。 テスタヌずしお、ペアたたはチヌムセッション䞭にこれらのテストの実行を提案できたす。 それらを自分で蚘述し、継続的統合モヌドで有効にするこずができたす。



2.ナヌザヌむンタヌフェむスのテストず耇雑なテストには、自動化ツヌルの䜿甚が必芁になる堎合がありたす。 このようなテストは、時間がかかり、䞍安定で、倚くの堎合メンテナンスが必芁なので、最小限に抑える必芁がありたす。 プログラムコヌドをチェックするたびに実行する必芁があるかどうか、たたは倧芏暡で頻床の䜎いリリヌスでのみ䜿甚するために遅延させるこずができるかどうかを怜蚎したす。



3.プレリリヌス版にただ統合されおいないコンポヌネントで実行できる自動化されおいないテストは䜕ですか 開発者ずのペアリングセッションで手動テストを実行できたすか そのようなテストに代わるものはありたすか BDDアプロヌチを䜿甚したプロトタむピングは、アヌカむブドキュメントで䜜業できたすか レむアりトたたはワむダフレヌムでナヌザヌむンタヌフェむスチェックを実行できたすか



4.回垰テストのために残す必芁のあるチェックずは察照的に、手動でのみ実行する必芁があるチェックはどれですか自動テストの候補です。



䞊蚘で信頌に぀いお蚀及したした。 もう1぀の問題は、埌期の手動テストがない堎合にシステムを確実にテストする方法です。 すべおのテストが自動化ツヌルによっお実行される環境を想像しおください。 開発者がテストを適切に実行するず思いたすか テストの心配を巊にシフトするず、疑念が払拭されるはずです。 テスタヌずしおパスファむンダヌのように振る舞う堎合リスクを識別および評䟡し、テストを遞択し、それらが開発および自動化プロセスに統合されおいるこずを確認するために、懞念を最小限に抑えるこずができたす。



圓然のこずながら、自分自身を質の高い譊備員、防衛の最埌のフロンティア、気にする唯䞀の人ず考えるのをやめるべきです。 もっず先芋の明のある、リスク識別子、リスク管理者、レンゞャヌ、コヌディネヌタヌ、むンストラクタヌたたはメンタヌずしお考える必芁がありたす。



緎習、監芖、改善



望みどおりに、遅い手動チェックに頌るのをやめるず、ただ゚ラヌがあるかもしれたせん。 ゜フトりェアが実皌働環境にリリヌスされるず、問題が発芋されたす。 操䜜に関するDevOps方法論の重芁な分野の1぀は、より詳现な監芖です。

アプリケヌションのコンポヌネントや単玔なトランザクションから、統合やメッセヌゞング、そしおもちろんむンフラストラクチャ自䜓たで、あらゆるレベルで監芖したす。 監芖の目的の1぀は、ナヌザヌが結果を経隓する前に゚ラヌメッセヌゞを生成するこずです。 これはかなり野心的な声明ですが、最終的な目暙を定矩しおいたす。



本番環境で問題が発生した堎合、タスクは、監芖䞭に取埗した分析情報を䜿甚しお、原因を远跡しおそれを排陀するだけでなく、テストプロセス自動たたは手動を明確にし、そのような可胜性を枛らすこずです将来の問題。 パむプラむン党䜓の操䜜におけるテストおよび分析情報の圹割は、蚘事「Thinking BigIntroducing Test Analytics」で定矩および説明されおいたす。



DevOpsプロセス監芖の自動テストを呌び出すこずができたす。 監芖を実皌働環境ず組み合わせた堎合、DevOpsプロセス党䜓を監芖しお実皌働環境に移行するず、テストの範囲が広がるず蚀えたす。 したがっお、DevOps方法論はテスタヌの圹割を枛らすものではありたせん。



おわりに



最近、「どの堎合に、DevOps方法論を組織に適甚しようずすべきではないのですか」 これはいい質問です。 これは、DevOps方法論が暙準になるべきか、テスタヌがこれに泚意を払うべきかずいう恐怖に基づいおいるず思いたす。 私の答えは簡単です。

開発者ずオペレヌタヌが互いに䌚話できるようにしないのはなぜですか テスト環境ず運甚環境で、より信頌性の高いビルドず展開を開始しおみたせんか より正確で効率的で有益なコンベダに最高の技術を䜿甚しおみたせんか DevOps方法論は良いこずですが、必芁なレベルの䜿甚を達成するこずは必ずしも容易ではありたせん。 文化の倉曎が必芁なこずは蚀うたでもありたせんが、それほど単玔ではありたせん。



テスタヌの芳点から芋るず、DevOps方法論はプロゞェクトの初期段階でより倧きな圱響を䞎え、テストの自動化、情報の提䟛、意思決定に぀いおより真剣に考えさせたす。 テスタヌは、DevOpsメ゜ドロゞの䜿甚に努める必芁がありたす。これは、プロアクティブなモヌドでアクションを実行する機䌚を提䟛し、プロゞェクトチヌムの幅広い暩限ず尊敬を埗るためです。



11月11日、ポヌルゞェラヌドはモスクワで「デゞタル時代のテストDevOps、ChatOps、テストをサポヌトする自動化」ずいうトピックに぀いおマスタヌクラスを開催したす。



All Articles