「倉曎を加えるには、人々が抵抗する理由を理解する」ゞム・ホヌムズのテスト文化









軍隊はテスタヌに​​䜕を教えるこずができたすか テストアプロヌチの䞡極端は䜕ですか 技術的な負債が支払いによっお赀くなっおいるこずを説明するにはどうすればよいですか 前の質問に共通するこずは䜕ですか



䞀般的なこずは、圌らのすべおの違いのために、圌らはすべお䞀人に近いずいうこずです。 Jim Holmesの背埌には、米囜空軍で80幎代に始たった数十幎のIT経隓がありたす。倚くのこずを話す準備ができおいるこずは驚くこずではありたせん。 「テスト文化」の抂念は圌にずっお重芁であり、私たちは圌に非垞に倚様な質問を尋ねたしたが、最終的にはテスト文化に䜕らかの圢で関連しおいたす。



-はじめの質問自分に぀いお教えおください。



-私の名前はゞムホヌムズです。私は独立コンサルタントであり、自分の䌚瀟であるGuidepost Systemsの所有者です。 私は゜フトりェア配信の品質を専門ずしおおり、軍隊に長い間勀務する前に、合蚈玄20幎間プログラミングを行っおきたした。 私は15幎ほど前に品質に真剣に興味を持ち、あたり成功しおいないプロゞェクトに取り組んでいたす。 䞀般的に、私は倚くのテスト自動化、単䜓テスト、統合テスト、特に機胜テスト、UIテストを行いたした。 特に、玠晎らしいTelerik Test Studioツヌルを曞いた䌚瀟で働いおいたした。 そしお、過去5〜8幎で、玔粋に技術的な偎面だけでなく、䟛絊党䜓の品質、぀たり䟛絊チヌムずビゞネスの関係がどれだけうたくいくかを扱い始めたした。 しかし、同時に、私はただWebDriverスクリプトを長時間デバッグし、䞍正確な非同期アクションによる定期的な障害などの問題を解決しおいたす。 私はオレゎン州のアッシュランド垂に䜏んでいたす。ポヌトランドではなく、心に留めおくださいアメリカで「オレゎン」ず蚀うずき、誰もが「ポヌトランド」ず考えたす。



-おそらく、テスタヌに​​ずっお、䌝蚘の最も珍しい郚分は兵圹です。 そこで䜕をしおいたしたか



-私は垞に飛行機に觊発され、父はパむロットだったので、アメリカ空軍に勀務したした。 私がわずか4歳のずき、圌は私の最初のフラむトで連れお行っおくれたした。 空軍では、私は非垞に幞運だった、私はE-3チヌムに勀めた-これは巚倧なディスクが䞊にある非垞に倧きな飛行機であり、レヌダヌずいく぀かの通信システムの操䜜を担圓した。 11幎間、私はこの倧きな電子システムの管理ずデバッグを行っおきたした。 そしお、フラむトのない時間に、私は自分の飛行隊にコンピュヌタヌを管理したした。 その埌、職堎でネットワヌクを䜜成するこずが可胜になりたした。 さらに、私は兵士だったので、教育を受けおいたので、゜フトりェアを開発するために倜の孊校に行きたした。



あなたの質問に関しおは、軍隊での奉仕の経隓はテスタヌだけでなく、他の倚くの分野でも珍しいです。 少なくずも私はそこで芏埋を教えられたず蚀えたす。



-はい、軍隊の堎合、最初に頭に浮かぶのは芏埋です。 これにより、倚くのテスタヌず開発者に問題が発生したす。 圌らは軍隊から孊ぶべき䜕かを持っおいるず思いたすか



-これは非垞に興味深い質問です。 事実、私が教えられた芏埋は、たずえば空para郚隊ずは倚少異なっおいた、぀たり、絶え間ない叫びや眰はなかったずいうこずです。 私はテストぞの、そしお䞀般的には問題解決ぞの芏埋あるアプロヌチを教えられたした。 職堎の芏埋も重芁でした—階局ずは䜕かを理解したした。 その䞭で働く方法を孊ぶためには、䞊叞ずコミュニケヌションをずるこずができなければなりたせん。 この皮の芏埋は私を倧いに助けおくれたした。



私は25幎前に軍を蟞めたした-はい、私は老人です-民間郚門での仕事は、その優先順䜍のために私の以前の経隓ず非垞に興味深い察照をなしたした。 軍隊で、私は飛行機に乗りたした。飛行機は広い領域にわたっお敵を監芖し、自分の安党を確保するこずになっおいた。 間違いは、兵士の呜を危険にさらすこずを意味したした。 誇匵したくはありたせんが、本圓にそうでした。 IT郚門の誰かがパニックに陥り、課題をすぐに解決するよう芁求するようになったずき、私の芏埋ず経隓のおかげで、私はい぀でも人々を安心させるこずができたす-誰かが死ぬずいう脅嚁はなく、負けたせん毎分数十䞇ドルそしお、私はそのような状況にありたした。 私たちは非垞にしばしばパニックに陥り、ビゞネスや株䞻が䞍必芁に私たちを脅迫し、誰にずっおも圹に立たない䞍圓な緊匵を生み出したす。 おそらく、軍が私に教えた最も良いこずは、冷静を求め、状況をしっかりず評䟡し、事前に行動を蚈画し、人為的に䜜成されたパニックのために考えずに仕事に突入しないこずです。



-぀たり、戊略を緎るために時間をかける必芁がありたす。



-はい、IT郚門ではこの問題は長い間ありたした。この2番目にプロゞェクトを正しく実行するための䞀定の芁件です。 䞻なこずは迅速に行うこずであり、正確に行われおいるこずは二次的に重芁です。 ほずんどの堎合、察話が正しく行われおいれば、この圧力を制埡できたす。 しかし、このためには、もう少し時間をかけお問題に合理的にアプロヌチすれば、より倚くの䟡倀を創造できるず蚀うこずができるこずが重芁です。



-珟圚の掻動に移りたしょう。 職堎では、さたざたな䌁業でさたざたな方法でテストにアプロヌチする方法に粟通しおいたす。 このアプロヌチは、たずえば䌚瀟の芏暡に䟝存する可胜性があるこずは明らかです。 しかし、おそらくあたり明らかではない倚くの違いがありたす-それらに぀いお話しおもらえたすか



-これは玠晎らしい質問です。 私は独立した仕事に加えお、オハむオ州コロンバスのPillar Technologyずも仕事をしおいたす。 私はこの䌚瀟の人たちを長い間知っおいたした。 珟圚、玄250人がそこで働いおおり、そのほずんどが゚クストリヌムプログラミングXPの原則に基づいお働いおいたす。圌らは倚くのナニットテストを行っおおり、開発は非垞によく考えられおいたす。 3幎前にそこで雇われたずき、私は唯䞀のテスタヌであり、圌らは非垞に高品質の補品を䜜成したした。 圌らは、XPの立堎から、テスト駆動開発の立堎から、テストにアプロヌチしたした。 これは玠晎らしいアプロヌチであり、圌らはそれをうたく適甚しおおり、私は他の埓業員ず䞀緒に゜フトりェア配信のいく぀かの偎面を倉曎するこずができたした。



そしお、この経隓を、私が過去3幎間コンサルティングを行っおきた別の䌚瀟ず比范できたす。 これは工業䌚瀟であり、フォヌチュンのトップ10リストにあり、䞖界䞭で玄20䞇人を雇甚しおいたす。 䌁業の内郚ニヌズに察応する非垞に倧芏暡なIT郚門がありたす。 そこには倚くの優秀な人々がいたすが、圌らのテストは1980幎代たたは1990幎代の慣行にずどたりたした。 同瀟はたったく同じ補品の巚倧なバッチを生産しおおり、倚くは、たずえばボヌルベアリングの生産においお、予想される欠陥の数を掚定するこずができるずいう事実に慣れおいたす。 しかし、問題は、この皮の考え方をITに転送するこずです。



䞀般に、いく぀かのプロゞェクトから欠陥レポヌトを収集し、将来起こりうる欠陥の数を予枬しようずする4人の非垞に優秀な埓業員ず䌚話したした。 業界でこれを行うのは非垞に合理的だず圌らに話したしたが、モバむルアプリケヌション甚に蚈算された指暙を、たずえばWebサヌビスの指暙ずどのように区別したすか 圌らは違いはないず答えた。 幞運にも、さたざたなアプロヌチずテスト文化のスペクトルでたったく反察の点を芋るこずができたした。



加えお、私はスタヌトアップの段階から抜け出すこずができなかったいく぀かの䌚瀟ず仕事をしたした。 そしお、数幎埌、耇雑なプロゞェクトでは、この段階で生じた問題が鋭く感じられ始めたす。そしお、このアプロヌチが間違っおいるこず、そしお今私は自分の行動を止めお適切に考える必芁があるこずを人々に玍埗させなければなりたせん。 䞀般的に、私の答えはいくぶん広範でしたが、あなたの質問ずの接觊を完党に倱っおいないこずを願っおいたす。



-そしお、あなたのカりンセリングの実践においお、䌚瀟ずの仕事を終えた埌、圌らは「䜕も良くならない」ず蚀ったこずがありたすか



-それは人々にずっお難しいこず、私たちは非垞に難しい生き物であるずいう秘密をあなたに䌝えたす。 これは私が癜髪をたくさん持っおいる理由の1぀です2番目は私の嚘です。 1人の人を倉えるこずは難しく、組織内の人を倉えるこずはさらに困難です。 そうです、私はこのような状況を頻繁に抱えおいたす。



䞀郚のコンサルタントに぀いおも、圌は「燃え尜きた」ず蚀っおいたす。 これは、組織で発達した文化を倉えるために倚くの努力をしおいるずいう事実によるものであり、私たちは個人レベルで倚くの問題に取り組む必芁がありたす-人々は倉化を恐れ、圌らは垞にこれが必芁であるず確信しなければなりたせん、それらに合ったパスを探したす。 私がどんなに匷くお隒々しくおも、私はただ来お蚀うこずはできたせん。 合意に達する必芁がありたす。 この䜜業は䜕かを達成するために䜕幎にもわたっお実行する必芁があり、問題を解決したず思われ、別の組織ず盞談するために去るず、以前ずたったく同じ問題が発生したす。 繰り返したすが、膚倧な時間ず劎力を費やすず、最初の䌚瀟ではすべおが以前の状態に戻っおいるこずがわかりたす。



人々はずおも敎理されおおり、私たちず䞀緒にいるのは難しいです。私たちはしばしば昔の習慣に戻りたす。 しかし、それにもかかわらず、本圓に成功した仕事の䟋がありたす。 あなたず達成した結果を統合するために管理する組織がありたす。 䞀般的に、私は䞀方が他方のバランスをずるず蚀いたす。 これらの成功事䟋は非垞に満足のいくものであるため、私はこの仕事を続けおいたす。



-あなたのブログでは、あなたの職業䞊の原則に぀いお曞きたした。そこで、あなたはオヌプンであり、垞に新しいこずを孊び、話よりも耳を傟け、適応し、同時に人々を芪切に扱う必芁性に぀いお話したした。 芪切が本圓にITの人々に圹立぀かどうか疑問に思っおいたすか



-はい、圹立ちたす。 私は軍隊に勀めおおり、厳しい芏埋があったず蚀いたしたが、芏埋ず構造化は他の人々ずの良奜な関係ず共感を劚げないこずを理解する必芁がありたす。 スコットランドのシェフ、ゎヌドン・ラムれむを知っおいたすか 圌はヘルズキッチンショヌをリヌドしおいたす。 高䟡なレストランのシェフは埓業員に察しお嫌悪感を抱くこずがよくありたす-圌らは叫び、in蟱したす。 私は人々に察するこの態床が嫌いです。 私にずっおは、お互いに察する良い態床が重芁です。 倉化を達成したい堎合、人々がなぜ倉化に抵抗するのかを理解する必芁がありたす。぀たり、共感が必芁です。 そしお、それはあなた自身を倉えたいず思う人を䜜るこずを可胜にしたす。 そのようなアプロヌチは、人々に叫び、圌らが埓い、質問をしないこずを芁求するよりもはるかに効果的です。 それぞれの人は、自分の心、自分の魂、自分の経隓を持っおいたす。 哲孊を掘り䞋げたくはありたせんが、長い目で芋れば、良い態床ず共感により、玠晎らしい結果が埗られるず思いたす。 はい、圌らは助けたす。



-セミナヌを実斜し、そのうちの1぀で、プログラミングの方法がわからないプログラミング担圓者に教えたす。 2぀の質問がありたす。 たず、どのような問題が最も頻繁に人々がセルフプログラミングを劚げるのですか 第二に-来幎、自動テストが手動テストに勝るず思いたすか



-私の経隓では、人々は倚くの堎合、技術的な困難ではなく、恐怖に悩たされおいたす。 すでにお話ししたFortune 10の䌚瀟での経隓から䟋を挙げるこずができたす。 私は手動テストを行うテスタヌのチヌムず協力したしたが、WebDriverを䜿甚しお自動化を行う必芁がありたした。 これらのうち、ほずんどがEclipseを開いおコヌドの䜜成を開始するこずさえできたせんでした。 圌らは、自動化のためのスクリプトを曞くこずを恐れおいたした。なぜなら、圌らの理解では、これは、スケヌラブルなWebサヌビスたたはデヌタベヌスをマルチスレッドで曞くこず、぀たり開発者が長幎にわたっお孊んできたこずず倧差ないからです。 この恐怖は、圌らが䞀般的に簡単なこずをするこずを劚げたした。



珟圚、Java、C、たたはRubyスクリプトを開いお読み、䞀般的な構造を理解する、たたは曞くために䜕幎も緎習する必芁がないこずを説明するワヌクショップに基づいお、詊隓省向けのコヌスを開発しおいたすWebDriverでの簡単なテスト。 さらに、コヌドで発生しおいるすべおのこずを完党に理解しおいない堎合でも、たずえば、1぀のメ゜ッドが3぀の画面を占有しおはならず、4぀のネストされたifステヌトメントがないこずを知っおいるため、䞀般的な評䟡を行うこずができたす-それらは困難ですテストするために、倉数に1文字の名前などを付けるこずはできたせん。 私の意芋では、初期段階での䞻な困難は、信じられないほど耇雑なタスクを解決しなければならないずいう恐怖を克服するこずです。 そしお、私はい぀も私のクラむアントがこの恐怖をどれだけ早く取り陀くかを知りたいず思っおいたした-あなたはその人に簡単なナニットテストを䞎え、圌にアレンゞ、行動、䞻匵を曞くよう頌むだけです。 この人間の芁玠は非垞に重芁だず思いたす。



私たちが䜿甚しおいる技術のほずんどはそれほど耇雑ではなく、無人車䞡などに関係するものはほずんどありたせん。 私はか぀おむンドで1人のクラむアントを察象にセミナヌを開催したしたが、プログラミング経隓のないマネヌゞャヌが1人いたした。 このマネヌゞャヌは最初は非垞に怒っおいたので、その理由はたさに私が話したばかりの恐怖であり、この恐怖は銬鹿げおいるように思わないこずに重なっおいた。 しかし、最初のレッスンの終わりたでに、圌はテストを曞くこずに倢䞭になり、レッスンが終わっおから1時間埌に聎衆から圌を远い出さなければなりたせんでした。ボヌド。 そしお、ここでのポむントは私の指導スキルではたったくありたせん。それは、この恐怖やその欠垭がいかに重芁であるかを瀺しおいるだけです。 ここで私たちは人間の本質に固有のものに぀いお話しおいる。



手動テストから自動テストぞの移行に関する2番目の質問。 ここでいく぀かの経隓があり、テスト自動化に携わる䌚瀟で3幎間働いおいたした。 質問は別の方法で提起されるべきであり、テストの自動化ではなく、テスタヌの開発ず倚くの技術的スキルの習埗のために努力すべきであるず考えおいたす。 ナヌザヌストヌリヌ、仕様、および芁件を持ち、開発者ずかなり専門的なこずに぀いお自由に察話を行い、コヌドで具䜓化される゜リュヌションを共同で探すこずができるテスタヌに​​䌚いたいず思いたす。 これは、テスタヌがプログラミングを教えるアプロヌチずは若干異なり、WebDriverスクリプトを䜜成できるだけです。 もちろん、このスキルも重芁ですが、私の意芋では、それは最も重芁ではありたせん。 私の意芋では、スヌパヌタスクずは、開発者ず察話を行い、開発者がコヌドを蚘述する際にテストプロセスを念頭に眮くこずを保蚌する胜力です。 TDDでもすでに倧きな成果が埗られたす。すべおの組織がこの方法で蚘述できるはずです。



䞀番䞋の行は、正しく配信されたテストが単䜓テストたたは統合テストに瞮小されるにはほど遠いずいうこずです。 倚くの堎合、人々は兞型的なコヌド実行パスのテストに満足しおいたす-すべおのテストに合栌し、チェックボックスはどこにでもあり、100のコヌドカバレッゞが達成されたす。 しかし、これはコヌドの品質を保蚌するものではありたせんよね もちろん、これらも必芁な手順です。 したがっお、私の理解では、テスタヌはいく぀かの機胜テストたたはWebDriverでのテストを曞くだけでなく、開発者であるビゞネスアナリストずの緊密な協力関係をどのように確立できるかを考えるべきです。 たずえば、 mobプログラミングを詊すこずができたす 。 䞀般に、自動化はツヌルであり、目暙ではないず考えおいたす。



-「開発者ずの緊密な協力」ずいう蚀葉は、ハむれンバグの䞻催者ずしお私たちに非垞に近いです-䌚議のスロヌガンでさえ「テストに぀いおですが、テスタヌだけのためではありたせん」。 そしお、この協力に関連しお、次の質問をしたいず思いたす。広範なテスト経隓を持぀人ずしお、読者やプログラマヌに䜕を䌝えたいですか



「私たちはみんな悪じゃない」 テスタヌは自分の行動で悪評を獲埗しおいたす。 圌らは䌚議で最も现かい詳现で障害を芋぀け、しばしば蚀葉ではなくバグ報告を䌝えたす。 開発者は午前䞭に働きに来お、文法゚ラヌず敎列されおいないペヌゞに぀いお報告する50のバグレポヌトを芋たす。 私は䞡方の圹割を担っおきたしたが、プログラマヌがこれにどのように反応するかを知っおいたす。 これは叀いテストの䞀郚であり、私自身もか぀おこのように振る舞っおいたした。 しかし、最新のアプロヌチに慣れおいるテスタヌは、プログラマヌにバグレポヌトを提出するよりも、圌ず話すだけの方が簡単で良いこずを理解しおいたす。



私の意芋では、開発者にずっお、優れたテスタヌは非垞に貎重なものになる可胜性があるこずを理解するこずが重芁です。事前にテスタヌず話をすれば、倚くの時間ず神経を節玄できたす。 これは、制玄の理論が蚀っおいるこずです。 私が開発者で、テスタヌが䜕らかの問題を怜出したず思いたす。 TFSや他の堎所でそれに぀いおテキストメッセヌゞを送る代わりに、私は圌に近づいお盎接話をする堎合、この䌚話は私が曞いおいるコヌドの欠陥の数を枛らすのに圹立ちたす。 さらに、個人的なコミュニケヌションでは、ほずんどのテスタヌは原則ずしお怖くはありたせん。 , , , , — , , , .



, . , , , , — , . , .



, , : Heisenbug , Fortune 10. , ? 6-7 Heisenbug , .




— . «The leadership journey» . , : , , — . ?



— , , IT: , , , , . , , , , . , , , . , , .



, . , , , . , : , , . , , , . , , , . . , , . , , - , . , , . , — .



— , . : , , , . — ?



— 18 , , 13 14. . , — , , . , , . , .



, . , , . DevOps. , , . , . , Skype - , Skype for Business Google Hangouts, . . , . , , , Xbox — , .



, — . , . hangout Slack — . , , .



20 , , — . . , , , . , , , . . , — , . , , .



— «Technical debt: payment plan». « » , « » , . , , , , ?



— . , , IT - , . (Trish Khoo), Twitter hogfish. — , . , , «Technical debt: payment plan». , , , , -, .



, , , , - . -, , , . , , . - X , Y , . , - . , , 30 - , . , -, . , , : - .



, 10 3 . 3 . , . . , , , , . , , , - , . , . , , IT, , . , . , . . , , - , , , .



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



— , , , . , , , .



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



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



— , — . , .



— Fortune 10, , . , . , , , . , , , , , Acceptance Testing.



, , . , (, Sonar Cube), , . , , . , « », , , , . , , . , , - .



— . .



— , . , : , .



All Articles