コミュニティのハイライト: Ramona Schwering

Ramona Schwering は、品質保証に関する経験を持つソフトウェア エンジニアで、Google Developer Expert です。

この投稿では、ブログシリーズ「テストの自動化」の一環として、コミュニティ エキスパートを取り上げます。

ラモーナ シュウェリングです。

Ramona Schwering は、品質保証に関する経験を持つソフトウェア エンジニアです。また、ウェブ技術の Google Developer Expert でもあります。Ramona はテストの自動化に情熱を注いでいます。彼女は、カンファレンスでの講演記事の公開オープンソース プロジェクトへの貢献、ミートアップの開催など、公教育の取り組みを通じて自動化のテストに多大な貢献をしてきました。

Ramona Schwering 氏(VueJS Amsterdam)

Jecelyn: ウェブ開発とテストはどのような道を進みましたか。

Ramona: 私の発達への旅は、芸術が大好きなことから始まりました。高校の時代、私は出版したいと思ったイラストの描画や作成に多くの時間を費やしていました。しかし、DeviantArt と Animexx 以外のものを使用したいので、独自のウェブサイトを作成しました。そしてウェブ開発について学びました。その後、最初の仕事でテストの自動化に情熱を傾けました。日常的なテスト作業をなくし、人間の創造性と経験を必要とする作業に集中できるようにしたいと考えていました。

Jecelyn: テスト自動化ツールはたくさんあります。それらすべてを学ぶ方法や、どれを選ぶべきかを知るにはどうすればよいでしょうか。

Ramona: いい質問ですね。まず最初にすべきこと: 多くの自動化フレームワークをいろいろ試してみるのは良いことですが、一つひとつ学ぶプレッシャーを感じないでください。小規模なプロジェクトから始めるか、小規模なテストを作成して、フレームワークの使い勝手や特性が気に入ったかどうかを確認します。 要件に合うものを 1 つか 2 つ選んでいただいても結構です。特定のフレームワークのデベロッパー エクスペリエンスが気に入るかどうか、試して確かめたいと思っています。特に問題ないか、確認してみます。テストは、一定の効果を期待せず、習慣にする必要があることを忘れないでください。もちろん、構築するプロジェクトとその要件にもよります。

Jecelyn: 「まだその時間がない」など、プロセスの終了までテストが遅れることがよくあります。どう思いますか?

Ramona: テストの作成には確かに時間がかかります。特にテストドリブン開発を使用する場合は、時間がかかります。しかし、テストに多くの時間が大量に消費されるというのはよくある誤解です。つまり、早期のフィードバックを得ることでバグを早期に修正できるため、バグが蓄積されず、後の段階で修正するための費用がかさむことがなくなるため、バグ修正のコストが下がります。それ以外は、自動化するほど、手動でのテストは少なくてすみますが、それでもプロジェクトのステータスの概要を把握できます。私の意見では、これは実際には正反対です。テストは、絶え間ない努力をしなくても時間を節約し、自信を与えることができます。

Jecelyn: 貴社のテスト自動化の文化について教えてください。

Ramona: 現在のチームでは、テストは共有責任とみなされており、全員が共同で責任を負います。Google は、Atlassian によって最初に導入された「Quality at Speed」というプロセスを導入しました。 このプロセスにより、テスターはセーフティ ネットとしてのみ行動し、pull リクエストにテストが必要かどうかを判断できます。そのため、テスト担当者がすべてを処理するという考えに頼ることはできません。その代わりに、デベロッパーとテスターは、コーチとして機能し、デベロッパーにテスト方法を教える品質エンジニアの助けを借りて協力します。デベロッパーが変更に必要なテストを作成し、品質エンジニアが必要と判断した場合は、後でそれらのテストを補完します。このアプローチにより、デベロッパーと品質エンジニアの共感が高まり、責任を分担しながら協力できるようになりました。

Jecelyn: あなたは、講演、執筆、オープンソースへの貢献など、数多くのコミュニティ アクティビティに参加しています。時間の確保とそのバランスを取るにはどうすればよいでしょうか。

Ramona: 幸運なことに、雇用主はスピーチの仕事をしてくれるので、カンファレンスに参加したり、講演内容を準備したりするときに、仕事を休む必要がなくなりました。ただし、自分の自由時間の一部を公共の場での学びに利用していることは認めなければなりません。時間を効果的に管理するためにタイムボックス戦略を採用し、オープンソース プロジェクトへの貢献、記事の作成、プレゼンテーションのリハーサルなどに毎日 2 時間費やしています。この 2 時間が終わった後は、十分な時間を確保するために、休憩を取ることが重要です。 このアプローチが計画どおりにうまくいかないこともありますが、一般的には、重要なタスクを無視することなく、仕事、コミュニティとの関わり、私生活のバランスを取るのに役立っています。

Jecelyn: テスト自動化の仕事を始める前に、何かあったら聞きたいことはありますか。

Ramona: 特定のソリューション フレームワークに対して偏りすぎないように、目の前の実際の問題を解決するよりも、フレームワークを優先することが重要です。Google の最終的な目標は、ユーザーに最高の品質とユーザー エクスペリエンスを提供することであり、その実現にはあらゆるフレームワークが役立ちます。したがって、フレームワーク戦争には関与しないのが最善の方法です。テストの仕事を始めたばかりのときは、テストとテスト自動化の基礎を学んでから、必要な場合にのみツールとしてフレームワークを使用することをおすすめします。

Jecelyn: テストの自動化とウェブ開発について、どうやってついていけますか?

Ramona: ニュース提供元やソーシャル メディアをチェックすることで、最新のトレンドや革新的なアイデアを常にチェックしています。ただし、関連性の高い情報を除外するのは難しい場合があるため、信頼できる情報源と個人に従うようにしています。また、Twitter のリストやブックマークなどの機能を使用して、情報源を統合しています。私が参考にした情報源のリストはこちらです。カンファレンスやミートアップに参加すると、講演から学んだり、他の参加者と会話したりできるため、最新情報を得ることができます。