戦車から原子力発電所まで:ハイゼンバグ2017モスクワを振り返って





これまでのところ、 ハイゼンバグ会議の後、視聴者のフィードバック収集して分析し、詳細なIvanPonomarevの 投稿が視聴者の印象とともにHabréに 掲載されました。 そして、それを繰り返さないために、それを補うために、会議に関するテキストを別の方法で作成することにしました。



2日間すべてをパーティーで説明せず、Ivanが既に説明したレポートについては話さないでください。ただし、視聴者の評価と、視聴者に最も好まれているもの(これらの評価はすべて4.2より高いことが判明しました)を見て、それらについて少し説明してください 結果は「Heisenbugの視聴者を惹きつけた6つのもの」のリストでした。特定のトピックとそのばらつきを評価するために使用できます。





戦車







サンクトペテルブルクのハイゼンバグでの夏に、 アレクセイ・ラヴレニュクからの負荷テストに関するレポートがあり、そこにYandex.Tankが言及されました。 今回の会議では、戦車もありましたが、まったく異なるものがありました。WargamingのAlexander ShukovWorld of Tanksの場合の自動テストの対処方法について話しました。 マイクロサービスはどこかで激怒していますが、ゲームは「モノリシック」のままです。そのような比率のゲームも一種の「タンク」であり、それをまだ処理する必要があり、そのためにWargamingで独自のフレームワークを作成しました。



誰がレポートを作成しましたか?gamedevで直接作業する人(「経験から学ぶ」)、または逆に他のすべての人(「ぬいぐるみを楽しんでいる間、これが私たちで起こっていることです」) おそらくそれらのために、そして他の人のために。 事前にゲームの詳細を知る必要はありませんでした-それどころか、レポートは要点を理解するのに役立ちました。 たとえば、「箱入り」とMMOの違いがゲームのテストに影響を与えると外部から考えないようにするのは簡単です。「2年間大声で準備、リリース、呼気を出している」大規模プロジェクトをテストすることと、絶えず発展していることです。 そして、ゲーム開発者だけでなく、自分自身のためにもなります。 最終的に、モノリスはゲームに残っただけではありませんでした。



カンファレンスの傍ら、アレキサンダーがWorld of Tanksでカンニングする方法を試すことはできましたか? それどころか、このゲームが他の多くのゲームよりも不正行為から保護されている理由を彼から説明することができました。ほとんどすべてがクライアントではなくサーバーで処理されるため、インストールされたアプリケーションでどのように偽造しようとしても、ほとんど何もできません。



スマートフォン:ペアのレポートのペア



iOSとAndroidは、モバイルの世界を2つの部分に分割しました。 モバイルテーマに関連して同じ番号がハイゼンバグに現れたのは面白いです。#mobileタグを持つ正確に2つのレポートがオーディエンスの上位5つのレポートに入り、それぞれ2人のスピーカーによって発表されました。







1つ目は、 Alexander KhoziNikolai Kozlovに よる 「Badooでの位置情報のテスト:バンプ、石、松葉杖、 撮り棒」です。 「近くのユーザー」機能でデートするには、明らかにジオロケーションが重要であり、トピックに対する話者のアプローチは、「GPS」の代わりに「GNSS」(「グローバルナビゲーション衛星システム」)と言ったという事実によって示されました。GPSは最も人気がありますが、唯一の衛星ではありませんナビゲーションシステム。



ジオロケーションのテストのコツは、宇宙空間での移動を伴うという事実から始まります。 アプリケーションの他の機能を職場で直接呼び出すことができる場合、オフィスを離れずに動きを確認する方法は? 判明したように、ここでのAndroidとiOSの分離は効果があります。 どちらのシステムも公式のエミュレーターで「強化」できますが、Androidが特定の座標(デフォルトはAndroid仮想マシンに名前を付けたアイスランドのDalvik村)を設定できる場合、iOSには移動をシミュレートするモードもあります。 しかし、標準のツールでは不十分な場合、サードパーティが助けになります。これについても説明しました。 その後、エネルギー消費も影響を受けました-放電された電話に不慣れな場所にいる人は誰でも、地図をよく見るため、この場所がジオロケーションにとってどれほど苦痛かを理解しています。







エネルギー消費量は、YandexのAlexei LavrenyukTimur Torubarovからの2番目のお気に入りの「モバイル」レポートでした。 さらに、アレクサンダーとニコライの演奏を聞いたという言葉から始めました。 しかし、その後、彼らはほとんど「クレイジーハンド」の形式になりました。 スマートフォンをゼロに放電する時間を無駄にすることなく、アプリケーションのエネルギー消費を測定する方法は? 理論的には、これをソフトウェアで確認する方法はありますが、いくつかの理由で機能しませんでした。たとえば、測定の頻度が不十分だったためです(さらに、AndroidとiOSの違いも感じました)。 現在、 Batt0rのようなサードパーティのハードウェアプロジェクトの中にも、適切ではないことがわかりました。



その結果、Yandexは自ら「ハード」および「ハードコア」として行動することを決定し、回路を開き、電流を測定するために独自のArduinoベースの回路を作成し、それを使用するライブラリを作成しました。これについては、会議で詳しく話しました。 一般的に、アレクセイはストレステストに関する春のレポートからはほど遠いものの、起動するものもありました。



A / Bテスト







A / Bテストを実施するよりも簡単なことは何ですか? 異なる視聴者向けに2つの異なるオプションを立ち上げましたが、比較すると、制作に残っている方が良いことがわかりました。



しかし、そこにありました。 レポートのタイトルのRoman Poborchiyは「あなたのA / Bテストは壊れています」と大声で述べ、この挑発的な声明は議論によって支持されました。 ここでは、たとえば、最初の1つです。 通常、比較すると、結果は95%の確率で異なると見なされ、この数値は堅実に見えます。 しかし、単一のテストの代わりにシリーズ全体を実施する場合(「今から数十のオプションのベストを選択します」)、それらの結果の少なくとも1つがランダムな変動である確率は急激に増加します-つまり、ユーザーが気に入った」オプションは、実際に偶然に撃たれたものです。



聴衆のレビューで、ローマは「数学の統計について」と「数学の統計がほとんどないという事実について」と称賛されたのは不思議です。 このパラドックスには説明があります:レポートは、A / Bテストにおける統計的アプローチの重要性について話しましたが、同時に、準備のできていないリスナーが数式の山に埋もれ、何も理解しなくなることのないように慎重に構成されました。



ホワイトボックス







Nikita Makarov (Odnoklassniki)は、最初の会議以来、ハイゼンバグプログラム委員会に参加しています。 視聴者がどのようなレポートを待っているかを理解していることは驚くことではなく、彼自身も高く評価されました。



そして、Nikitaは、テスターがコードを理解する必要があると確信しています。 彼の報告が「白い箱」に当てられていたことは驚くことではなく、彼はすぐに「黒」の限界を説明しました。



はるかに予測不可能なものを追加します。彼のレポートからの奇妙な歴史的事実です。 現在、 Chaos Monkeyツールがよく知られています。これは、大規模システムのさまざまな要素をランダムに無効にし、システムがそのような障害にどのように対応するかを知らせます。 また、カオスモンキーの作成者であるNetflixは、このアプローチの主な謝罪者と見なされています。 しかし、そのようなアイデアが最初に70年代に実装されたことはあまり知られていません。ソフトウェアレベルではなく、ハードウェアレベルで実装されました。 回路の開発により、回路が複雑になり、要素の故障の結果が明らかではなくなったとき、それらをチェックするために、それらは回路から物理的に除外され始め、それによって障害注入が生じました。



エラーメッセージ







Pavlov Dog社のAntonina Khisametdinovaが、テストに関連するトピックについて講演しました。 エラーを見つけてそれらを取り除くのは良いことですが、エンドユーザーがエラーに遭遇した場合、すべて同じ状況が避けられません。 これは、問題が検索に限定されないことを意味します。この場合、ユーザーが正確に何を見るべきかを理解する必要があります。 そしてこれにより、すべてが私たちが望むよりも悲しいものになりました。多くは「エラーメッセージで整理するものがあり、機能をカットする必要があります」という原則に基づいて行動します。



たとえば、サービス全体に不具合がある場合はどうすればよいですか? 「できるだけ早く修復する」ことは明らかですが、「サービスを利用できない」よりも良いことをユーザーに伝えることは可能ですか? はい:操作性を回復するための時間の見積もりも役立ちます。また、必要なものを取得するための代替方法の指示や、鼻の問題に埋もれる前のユーザーへのメッセージも役立ちます。



これは特に興味深いものです。特に、Antoninaは、レジやATMなどのインフラストラクチャテクノロジーに対するユーザーの信頼について、そして間違いがこの信頼を損なう可能性があることについて話しました。 そして、会議の後、レジの大規模な失敗があり、そのようなエラーの明確な例になりました。



原子力発電所







最後に、まったく予想外の報告がありました。 Vyacheslav AlenkovはRosatomに属するASEグループを代表しており、「テスト会議」という言葉が提示されたときに頭に浮かぶのは原子力エネルギーではありません。 そして、外部からは、原子力発電所の建設は何年も前にすべての主要な原則が定められた保守的な領域であり、イノベーションがゆるやかに来て、滝のモデルが揺るぎないものであると想定できます。 ファッショナブルなモバイルフォトサービスではなく、巨大で複雑で非常に責任のある物理オブジェクトである場合、すべての完全なデジタル化とアジャイルが必要ですか?



必要なことが判明しました。 柔軟性がなければ、今日はどこにもありません。「ウォーターフォール」を使用すると、グローバル市場で競争力を失います(「ASE」は多くの国で機能します)。 そして、デジタルプロジェクトへの移行は、テストに関連した理由だけで発生しました。 間違って配置されたパイプの形で既に物理的に具体化されている場合、ミスははるかに高価です-実装前に(たとえば、3Dモデルで)キャッチできるほど、より良いです。 一般的に、すべてはあなたが思うよりも典型的なハイゼンバグ参加者の生活に近いものです。





そして最後に、報告後、過去のハイゼンバグのいくつかの面白い「バグ」を共有します。







第一に、バッジは非常に長い銘刻文字用に設計されていなかったため、たとえば、スピーカーのロマン・ポボルキーは「独立コンサルタント」であることが判明しました。 一般に、もちろん、テスト会議を開催するときは、参加者があらゆる分野で不自然に長い値を入力できるという事実に備える必要があります!



次に、まったく予期しない問題が発生しました。 ホールの1つでは、プロジェクターの画像が消えることがありました。スピーカーがこのホールのカーペットの上を歩くと、静電気が蓄積し、ラップトップに触れたときに感じたことがすぐにわかりませんでした。 それは本当に厄介なバグです-問題が何かを理解するまで、それを再現してみてください。



しかし、発生するすべての問題を慎重に修正して、次の会議がより良くなるようにします。 したがって、次のハイゼンバグ(サンクトペテルブルク)までに、これらのバグは修正されるはずです。 また会いましょう!










All Articles