DevOpsがありたす。 すべおのテスタヌを発射したしょう

䜕かを自動化するこずは可胜ですか もちろん、すべおのテスタヌを解雇したす。 なぜ今必芁なのか、「手動」のテストは残っおいたせん。 結局のずころ



これは、DevOpsの芳点からのテストの未来に関する物語です。 具䜓的な数字ず玔粋に実甚的な結論があり、優れた専門家が垞に仕事をしおいるこずがわかりたす。 たたは、䜕の䜜業もありたせんシェヌクスピアの写真を芋お、恐れおください、あなたの運呜は今決定されたす。







この資料は、JFrogの開発者擁護者であるBaruch jbaruch Sadogurskyによる報告曞の写しに基づいおいたす。 レポヌトのテキスト版ずビデオはカットされおいたす。







みなさんこんにちは 䞊の写真でシェヌクスピアからの匕甚をご芧ください。 これは、すべおの匁護士を殺すずいう提案であるヘンリヌ6䞖です。 それ以来、間違った職業を取り陀くためのよりベゞタリアンな方法がありたす。 私たちは誰も殺したせん。



より正確には、そのような機䌚がありたす。 誰かを解雇したすか話したしょう 。







これがノァシャです。 ある朝、圌は仕事に来お、メむン䌚議宀を通り過ぎたす。 そこで、圌の䞊叞は新しいコンサルタントを歓迎したす。 効率コンサルタントが䌚瀟に来お、こう蚀いたす。「Netflix *のようにDevOpsを行いたす。 私たちは特にカンファレンスのためにシリコンバレヌに飛びたした。そこで、圌らはnetflixでどのように掻動しおいるかを䌝えられたした。」



*免責事項この蚘事では、NetflixはDevOpsの到達䞍可胜な理想ずしおよく䜿甚されたす。 この䜿甚法は䞀般的な蚀葉です。



Netflixが実際に完党なDevOpsを備えおいるかどうかに぀いおの議論は、この蚘事の範囲を超えおいたすちなみに、おそらくそうではありたせん。




SpinnakerをむンストヌルしおからChaos Monkeyを起動するず、すべおが自動化されたす。 そしお、私たちはこれを行い、非垞に効果的です。



䞊叞は尋ねたすが、テスタヌはどうですか。 「そしお、ここでは、Netflixのように、 自由ず責任がありたす。 開発者は自分でテストを䜜成したす。」



そしお、Vasyaは䜓調䞍良になりたす、なぜなら圌は圌の名刺を芋お、そこに...







Vasyaは心配し始めたす。効率コンサルタントが最埌に来たずき、システム管理者ずしお働いおいた友人のナタヌシャが解雇されたした。 どこでもDevOpsだから。 そしお、圌はすぐにすべおが非垞に悪いこずに気づきたす。



しかし、もちろん、ノァシャは目を芚たす。







私の名前はBaruch Sadogurskyです。私はJFrogの開発者支持者です。 この蚘事の線集者は、テスタヌを解雇する方法を教えおくれる私の暩限を誰も疑わないように、いく぀かの段萜を曞くこずを特に求めたした。



JFrogはシリコンバレヌの新興䌁業であり、最埌の評䟡額は10億ドルを超えおいたした。 私たちは公匏にはナニコヌンであり、DevOps自動化を行っおいたす。 圓瀟の補品-Artifactory 、 Xray 、 Mission Controlなど -は、オムスクの食肉加工工堎をnetflixに倉える非垞に自動化のためのツヌルです。



私自身はテスタヌではないので、たぶん、ナンセンスを蚀うでしょう。 このレポヌトが最初に読たれた䌚議のプログラムには、特別な指定がありたす-モロトフカクテルの写真。 だから、スピヌカヌはある皮の異端を持ち蟌み、聎衆は燃えるでしょう。 これは私のこずです。 Twitterでは、 @ jbaruchです。 すでに理解しおいるように、私は非垞に元気な男です、私は緊急に埓う必芁がありたす。



ニュヌスがありたす開発者の80がテストを曞いおいたす。 開発者はあらゆる皮類の投祚に満足しおいたす。 JetBrainsは、非垞に優れた開発者゚コシステムレポヌトの状態に満足しおいたす。 圌らは誰が単䜓テストを曞くかを尋ねたす。











合蚈で、開発者の70が単䜓テストを䜿甚しおいたす。 これはすごい。



開発者の助けを借りたテストに぀いお、Hubstaffによるより詳现な研究がありたす。それは少し叀いです-2014幎。 圌によるず





開発者の倧倚数は、ペンでも䜕かをテストするず䞻匵しおいたす。 もちろん嘘は぀きたすが、統蚈は次のずおりです。



2011幎以来、私たちのお気に入りの匕甚は「すべおの䌚瀟は゜フトりェア䌚瀟です」です。 もちろん、ノァシャが働くオムスクの食肉工堎も含たれたす。 どこにでも゜フトりェアがあり、この゜フトりェアの誰もがお金を皌ごうずしおいたす。 䌁業は䜕を望んでいたすか シャベルで戊利品をRowぎたす。 お金はどこから来たすか 満足した顧客から。 顧客は䜕を望んでいたすか 新機胜。 そしお、い぀新しい機胜が必芁になるのでしょうか 今



挫画本のCEOであるディルバヌトは、ノァシャのボスチヌフです。 圌はたた、あらゆる皮類の興味深い報告を聞いた。 圌は、顧客が新しい機胜を必芁ずする堎合、新しい機胜をより頻繁にリリヌスする必芁があるず考えおいたす。 論理的です。 これを行うには、チヌムの摩擊を枛らしたす。



もっず頻繁にリリヌスすべきですか たずえば、2017幎にJavaはより頻繁なリリヌスに切り替わりたした。誰もが機胜を求めおいるため、より高速にリリヌスする必芁があるように思えたす。 6か月ごずに新しいJavaが登堎したす。 しかし、誰もそれを䜿甚したせん。



最近、Jokerがあり、 Javaパズルをホストしおいたした。 最初は、どのパズルピヌスを尋ねるべきかを理解するために、誰がどのJavaで誰に質問するのです。



状況は倉わっおいたせん。80以䞊が、100幎前にリリヌスされたJava 8に残っおいたす。 誰も9番目、10番目、たたは11番目を取りたせん。







圌らが䜿甚しおいない理由を理解するには、曎新を行うかどうかに぀いおどのように決定するかを理解する必芁がありたす。 オペレヌティングシステム、アプリケヌション、ブラりザなど、必芁なものを曎新する方法を想像しおみたしょう。



曎新はどのように配眮したすか









曎新が行われたずいう通知が届きたした。新しいオペレヌティングシステムをむンストヌルしたしょう。 これが欲しい そこに䜕か䟿利なものはありたすか、それずもWindows 98 Embeddedで動䜜するレゞがありたすか。他に䜕も必芁ありたせんか



この曎新が必芁な堎合、次の質問はそれがどれほど危険かずいうこずです。 Facebookが曎新されるず、スクロヌルが発生し、いいねを远加できなくなりたす。 病院で生呜維持システムがオフになっおいるずき、それはたったく別のこずです。 リスクに぀いお気にしないなら、曎新したしょう。 リスクがある堎合、問題は曎新を展開しおいる人を信頌するこずです。



Appleには以前に問題はありたせんでした新しいオペレヌティングシステムがありたす-それを取りたしょう。 それは以前のこずでしたが、今では曎新を恐れおいたす。以前の信頌はありたせん。 信頌できる堎合-問題ありたせん。曎新䞭です。 信頌できない堎合は、テストする必芁がありたす。



受け入れテストず呌ばれるものを行いたす。 ここでは、新しいJavaが登堎したした。たずえば、私たちはBaiduです。 高負荷、100,500台のサヌバヌ、クラりド、あらゆる堎所のJVM。 サヌバヌの䞀郚を取り、Javaの倉曎を開始したす。 倚くの゚ンゞニアが䜕かをしお、すべおをチェックする必芁がありたす。 3幎に1回は正垞ですが、6か月に1回...乱れおいたすか 6か月間のみ確認したす。 もちろん、これを新しいJavaずは芋なしたせん。



したがっお、すぐに確認できる堎合は、曎新する䟡倀がありたす。 ただし、長時間チェックする必芁がある堎合は、いく぀かのバヌゞョンをスキップできたす。 8番目のバヌゞョンからすぐに12番目たでクロヌルしおも、䜕も起こりたせん。



問題は信頌されおいたす。 信頌できない堎合、曎新は困難になりたす。 信頌の問題が解決した堎合、曎新に問題はありたせん。 機胜があるか、気にしたせん。



Chromeを䜿甚しおください。 圌は、あるバヌゞョンから始めお、だれにも尋ねるこずなく曎新したす。 リスクは小さいですが、ただありたす。 しかし䞀方で、Chromeを曞いおいる人を信頌しおいたす。 たいおいの堎合、新しいChromeリリヌスがリリヌスされおも、䜕も䞭断されたせん。 実際、信頌に問題はなく、この道を歩んでいたす。







曎新がありたす、リスクは重芁ではありたせん、信頌しおいたす-曎新したす。 そしお、圌らは私たちが望むかどうかを尋ねないので、垞に曎新したす。 これがたさに行われおいるこずです。



netflixが新しいアップデヌトをリリヌスし、キャプションやスクリヌンセヌバヌだけでなく、すべおの退屈な堎所もスキップできるこずを想像しおください。 クヌルなアップデヌト かっこいい。 圌が欲しい したい。 機胜したすか おそらくそうです。 極端な堎合、YouTubeにアクセスし、netflixが壊れおいる堎合は挫画を芋おください。



信頌の問題は重芁です。 どのように解決したすか 「私たち」ずいう蚀葉は、JFrogの2人の共同創立者、フレッドサむモンフレッドサむモン、ペアフランドマンペアフランドマン、および謙umbleな召䜿を指したす。 この問題を解決する方法をアドバむスする本を曞きたした 。



CEOを説埗し、Liquid Softwareを読んだずしたら、なぜ圌は曎新が必芁なのかを理解したこずになりたす。 圌はコンサルタントに、より頻繁に曎新する方法を尋ねたす。 アゞャむル DevOps DevOpsずは䜕ですか



Devops



DevOpsが収益を䞊げるので、DevOpsが䜕であるかを少し説明したす。 写真を芋おください。これらのグルヌプ、チヌム、郚門がありたした。





開発者がいたす。Ops-開発者が曞いたものを受け取っお補品に投げるシステム管理者がいたす。 たた、Ops開発者の䞭間には、テスト䞭のQAがありたす。 ぀たり、開発者は座っお曞き、それをテスタヌに​​枡しおテストし、システム管理者に割り圓おお、補品にアップロヌドしたした。 このために、別々の郚門がありたした。



ロシア語は矎しいです。郚門は垞に分離されおおり、これが単語のルヌトです。 英語では、この魅力はそうではないので、これらの異なる郚門はサむロず呌ばれたす。 この単語のロシア語ぞの最良の翻蚳は、DevOopsで最高の講挔者であったアントンワむスによっお䞎えられたした。 圌はサむロを「井戞」ず呌んでいたす。 さたざたな郚門-深い井戞。 そこにいく぀かの䜜業をロヌドするには、䞋に行っおから、そこから䜜業を匕き出す必芁がありたす-䞊昇したす。 これをグルヌプで行うのが最も䟿利です。 井戞から出るものをどのようにグルヌプ化するのですか



圓然、バケツの䞭に。 ぀たり、このような「仕事のバケツ」がありたす。 開発者は井戞に䜕かを曞いお、それをバケツに入れお、井戞から取り出し、バケツをテスタヌに​​運んで、井戞の䞭で圌らに降ろしたした。



異なるりェル間で䜜業を転送するために、倚くのアクションが実行されたす。 この䜜業を保存するためにタスクをグルヌプ化するず、これらのバケットのロヌドを開始したす。 もちろん、バケットが倧きくなればなるほど、この転送プロセスを節玄できたす。 したがっお、バケットは倧きくなりたす。



倧きなバケットの問題は䜕ですか 圌らが長い間満たすずいう事実。 したがっお、生産のために緊急にリリヌスする必芁がある重芁な機胜がある堎合、お金のある顧客がいるため、これを行うこずはできたせん。 井戞がありたす。バケツにもっず集めたしょう。 したがっお、これを十分に満たす限り、重芁な機胜はすべおのナンセンスを埅っおいたす。 あなた自身が理解しおいるように、これは悪いこずです。 これは、これらすべおのりェルを取埗しお混合するずいう事実によっお解決されたす。



それは私のせいではありたせん オリゞナルの3色を取り、それらを重ねお配眮したずころ、この色が刀明したした。 今、私たちはすべお䜕でもしたす。 私たちには、Shvet、Reapers、Dyurasの䞡方の゚ンゞニアがいたす。 これらは、開発、QA、および運甚です。 圌はコヌドを曞いおテストし、それから圌はそれをすべお実動でレむアりトしたした-そのようなナニコヌンです。



ナニコヌンの問題は䜕ですか それらが存圚しないこず。 そしお、存圚するものは、長い間netflixに雇われおきたした。 したがっお、混合物を䜜るこずは私たちに残っおいたす。



混合物





共通の文化、共通の目暙がありたす。 私たちは井戞を去りたした、私たちはすべお䞀緒になりたしたが、ただ深い専門性がありたす。 開発者はOpsよりも開発者であり、テスタヌは開発者よりもテスタヌです。 それにもかかわらず、圌らはすべおを理解しおいたす。 圌らは、自分が䜕をしおいるか、なぜそれをしおいるのか、どのように機胜するのかを理解しおいたす。



぀たり、T字型の人々、「文字Tの圢をした人々」がいたす。



圌らは深い専門性を持ち、䜕をしおいるのかをよく知っおいたす。 圌らは非垞によく知っおいお、他のすべおも知っおいたす。 たずえば、開発者は、正しくテストする方法、補品のレむアりト方法などを少し理解しおいたす。



DevOpsは





スピヌドず品質



速床ず品質の間に反比䟋の関係があるずいう仮定に぀いお話したしょう。 倧たかに蚀えば、リリヌスが速ければ速いほど、品質は䜎䞋したす。 逆もたた同様です。急いでいない堎合は、すべおを培底的にテストする時間がありたす。 トレヌドオフがありたす



この䟝存関係が本圓に存圚するかどうかを理解するために、科孊論文に目を向け 、DORA組織からのDevOpsの状態レポヌトに぀いお話したしょう。 このレポヌトをよくご芧になるこずを匷くお勧めしたす。



圌をどれだけ信頌できたすか 報告曞によるず、5幎で5000人以䞊がむンタビュヌされ、2018幎には玄2000人がむンタビュヌされたした。 これは非垞に倧きなサンプルであり、そのような量に基づいお、たずえば、米囜の遞挙で予枬が行われたす。 したがっお、研究は信頌できたす。



さらに、DORAを率いるニコヌルフォヌスグレンは、私たちずは異なり、科孊者なので、すべおが深刻です。 DORAがこの逆盞関に぀いお教えおくれるこずを芋おみたしょう。



たず、すべおの回答者を䜎パフォヌマンス、䞭パフォヌマンス、高パフォヌマンスの3぀のグルヌプに分けたした。



さらに、゚リヌトがいたす。 これはNetflixです実際には䞊蚘の免責事項を参照しおください。







ご芧のずおり、比率は倉化しおいたす。 圓然、5幎前には䜎パフォヌマヌが倚くいたしたが、今では高パフォヌマヌがさらに倚くなっおいたす。



これはなんずなく奇劙です。 䜎以䞊のハンドルでMediumがテストされおいるこずがわかりたす。 なんで はい。Lowは䜕もテストしないためです。







Jカヌブず呌ばれるグラフであるトレンドには、速床ず品質の盞関関係たたは逆盞関関係が瀺されおいたす。 そしお、ここではすべおが非垞に奇劙です。 ある時点で、この逆盞関の確認が芋られたす。 ぀たり、リリヌスが速ければ速いほど、品質は䜎䞋したす。



しかし、盞関は逆ではなく、盎接です。 リリヌスが早ければ早いほど、品質は向䞊したす。 私たちが䞭型で、ペンでテストするずしたしょう。 すべおが悪いわけではありたせんが、ゆっくりです。急いでいない堎合、すべおをより良くテストできるず信じおいるからです。 次に、DevOpsのコンサルタントが来お、次のように蚀いたす。「それで、今は自動化しおいたす。 そしお、テスタヌは必芁ありたせん。 すべお順調です。」



しかし、テストがなければ、それは䞀皮のナンセンスです。 すべおをテストする必芁があり、正しく自動化する必芁があるこずに気付いた埌、正しく自動化を開始し、空の高さを目指しお努力を続けたす。







倚くのバグが発生するこの倱敗は、正しく克服する必芁がありたす。 どのようにそれに入るか、私は質問がないず思いたす。 問題はそこから抜け出す方法です。



手動テストなしで生掻する方法の質問に答える必芁がありたす。 答えは、サヌバヌを蚭定せずに生きる方法の質問ず同じです。 明らかに可胜です。 䜕が倉わっおいたすか



以前は、補品を補品化するシステム管理者がいたした。 圌は座っお、開発者が曞き終わるのを埅ちたした。 その埌、圌はこの補品を取り、CD-ROMを挿入しお配線を貌りたした。 この時点で他のすべおの人はどうなりたすか 他のみんなが埅っおいたす。 これはボトルネックのプラグです。







適切な自動化でこれを解決したす。 プロセスを自動化し、事前に準備されたパむプラむンを甚意し、曞き蟌みが終了するずすぐに補品が自動的に展開されるようにしたした。 今、これらの人々は必芁ないずいうこずですか いや これは、それらが必芁であるこずを意味したすが、圌らは別のこずをしおいたす。



テストでも同じです。 補品をテストするテスタヌがいたす。 圌らは補品を曞くたで埅ちたす。 曞いた-それはテストする時間です。 テスト䞭に他の人は䜕をしたすか 圌らは䜕もしたせん、圌らは埅っおいたす。 これをどうやっお解決したすか





繰り返したすが、適切な自動化。 私たちはプロセスを構築しおいたす。 圌は補品の品​​質を保蚌したす。 このプロセスを事前に準備しおおくず、補品が自動的にテストされたす。





すべおを自動化するために残っおいたす。 実際、テストを自動化できたす。 問題は、特定の郚分を自動化できるこずです。









, , , 0 , 99999999999 , , -1 
 , asdfgh, .



. , . , . . — , , .







, , , , . . , , , — , , , . , , , , , . , , , .



, , , . DevOps. , . T- — , .



, - . « », , . , , , . , Selenium . , .



, .







— . , , . . , , Ops- , , , , , , , .







Developers in test — , , . , . , ; — , ; TDD , , , , . , , .







« ». , , , , , — . , , , , , , , , , , Continuous Testing .



end-to-end , . , , DevOps, .



, - , . , 70- : « DevOps, ». , , .



. -, , , , , . : ( EVP Engineering, SignalFx) , , .



70- . . , , . , . , , , , . , , , , — , netflix .



, , , , , , , , , . . , .



, . . « , », — , , .







«, — . — : , , , . , , , , , . . , - , . ? Artifactory , ?!».



, — , . , . ? 今







DORA: , , , .







New Work. , New Work Low — 30%, Medium — 40%, High Elite — 50%. ( , Low) , , .



.



Heisenbug 2018 Moscow, — 17-18 Heisenbug. , . , ( ).




All Articles