Contenu connexe Similaire à 心・技・態 -LINEにおける改善の真実- (20) Plus de LINE Corporation (20) 心・技・態 -LINEにおける改善の真実-42. 1) プロダクトを動かして知る
42
“Tests should help us
understand the SUT.”
(XUnit Test Patterns)
• プロダクトの知りたいところを
テストスクリプトで動かしてみる
• 実際に動かすと分かることが多い
• いま動作するものが真実
(正しいか否かはまた別)
2. テストでシステムを学ぶ
44. 3) 動かしても壊れないように
44
“Do Not Harm”
(XUnit Test Patterns)
• プロダクトとテストスクリプトを
適切に作っていれば、
プロダクトを壊す恐れはない
• 安心して失敗することができる
• 何度でも試せる
→トライアル&エラーに適している
2. テストでシステムを学ぶ
Notes de l'éditeur LINEの「心技態」についてお話させていただきます。 まず導入として、このセッション(資料)の背景についてご説明いたします。 皆さん、LINEはお使いですよね! 最後が特徴的で、スキルの高い人たちの人力で高い品質を実現してきました。 いままさに、急成長によるひずみが現れてきています。 プロダクト数や子会社数なども調べてみたのですが、正直多すぎてまとめられませんでした。 私がSETとして採用された理由も、ここにあります。 この強みの活かし方です。 技術面だけではなく、アジャイルなどのプロセス面についても、実験しながら見直し続けています。 これって、どこかで見たことありませんか?
リーンスタートアップによる、短いサイクルでの改善の繰り返しです。
私たちLINEは、これを組織文化として実践しています。
この組織文化は、DevOpsとも通じるものがあると考えています。 「売上」・「利益」だけではなく「従業員満足度」も加えているため、「心」として扱っています。 例えば、BTSに起票されたバグ修正だけにフォーカスしてしまい、その結果としての価値にまで視野が及ばない人が、残念ながら確実に増えつつあります。
この他にも、様々な問題が起きつつあります。
共通の語彙・価値観を共有することでこれらの問題を解決できると考え、「3つのKPI」を導入し始めています。 不毛な空中戦やマサカリの投げ合いによる消耗を避け、動いているもの(=価値)を軸に会話することを狙っています。 短期間で動くものを見せ、それに基づいて会話することを狙っています。 LFKの大園(さん)が、「Ayavue」という、Vue,jsをベースとした自作のUIテスト結果のレポーティングツールを、サクッと作ってくれました。
テスト時のスクリーンショットを自動取得し、挙動を文字通り「見える化」しています。
この背景に、自作Device Farmもあったりします。 例えば、ステージング環境のDBを関係者が共用していてテストし辛い場合を考えましょう。ステージング環境のDBをコンテナ化し、テストする時だけ起動して、テストが終了したら破棄するという運用をすれば、他の人への影響なくテストを実施できます。 このプラクティスは、特に私たちSETが始め、組織全体に徐々に広めようとしているものです。 この場にいる皆様であれば、テストスクリプトやテストツールを使うことは容易でしょう。 例えば前述の「壊しても良い仕組み」は、技術・組織両面で難易度が高いですが、実施する価値は大きいです。
一方で、私たちはついやりがちですが、全てを「難しく」解決する必要は、必ずしもありません。
簡単なソリューションであっても、多くの人の「困った」を解決することは、非常に価値のあることです。 例えば、私が作ったソリューションを説明いたします。 インフラ=ストレージ 広くアプローチするシンプルな施策、および成果物ベースでの会話から、新たな課題を発見し言語化できたと言えます。 この章のプラクティスは全て、これら3つのKPIに基づいています。
ぜひ、これら3つのKPIを意識しながら、続きをお楽しみください。 例えば、このレベルで課題認識・やりたいこと・会話が止まってしまう場合、それは真の課題にたどり着いていないことを示唆します。 ちなみにこの例は、SETの真のニーズを明確化した例です。
単にテスト自動化をすれば良いわけではないことが、このことからも分かります。
同様の課題解決方法として、バリューストリームマップがあります。
LINEの場合、そもそも関係者全てを特定できていないなどの課題があり、バリューストリームマップではなく、こうした不安の聞き取りから始めています。 私が昨年9月に入社してからやってきたことです。
毎週、何らかの(動く)成果物を出し続けたことがポイントです。 世界各拠点のQAが、個別最適で車輪の再発明を繰り返している事例が目についたので、これを改めました。
また、サイロ化を壊す施策も合わせて行なっています。 福岡のテスト自動化エンジニアの大園(さん)が、ロールを超えて関係者にインパクトを与えて、改善を促している例です。 昨今の流行でいうと、「越境」と言えます。 ここまで、心技態それぞれについて説明させていただきました。
一方で、今後に向けての課題も見え始めています。
今後の課題について、3つ、言わせてください。 DevOpsなどを推進して、手動テスターを無くすだけでは、彼らを抵抗勢力にしてしまう恐れがあります。
それを予防し、協力を得るために、「アジャイルテスティング」への移行が必要と考えます。 ツールだけではなく、組織もプロダクトも、さらには我々の態度もハックしてしまいましょう! そして…みんなで一緒に幸せになりましょう!