j-kbt 備忘録

日々のお勉強や思ったことを残しておくもの

QA エンジニアのための OSS コントリビュートハンズオン 参加備忘録

イベント概要

QA エンジニアのための OSS コントリビュートハンズオンに参加してきました. 今まで, QA エンジニアとして仕事をしてきましたが, やはり開発が好きということと, 昨今のテスト技術向上に何かしら貢献できたらなと思い参加を決意しました. なんとなくわかっているのレベルを少しずつでもよいので上げて何かしらのコミットがしたいですね.

以下がイベントへのリンクと当日の資料です.

そして, 資料にも書いてある通り, 以下の順でイベントは進行していきました.

  • 会場提供のベリサーブさんから会社の説明
  • 自己紹介
  • イントロダクション
  • ハンズオン (Github を使ってのコミット・マージ)
  • 貢献したいプロジェクト選定について

発表者・講師は Autify の末村 (@tsueeemura) さんです.

会場提供のベリサーブさんから会社の説明

ベリサーブさんの最近の事業展開と, 教育システムについてのご説明をいただきました. 参加者全員に Veriserve Navigation も配布していただきました. 個人的にちょっと気になっていたのでいただけて嬉しかったです. iPad mini で見るより大判で見やすいですしね.

Veriserve さんの得意分野をあまり知っていなかったのですが, 医療, 航空, 自動車 あたりのプロジェクトが多い印象でした. また, Veriserve という会社は Verification, Validation, Service を組み合わせた造語みたいです.

自己紹介

コロナウィルスによる勤務時間の変更など出席をキャンセルされる方がいたものの会場には8人の方が集まりました. 人数も少ないということもあり, 各自1分ずつ自己紹介をしました. QA エンジニアは全体の半分いかないくらいで, あとはインフラエンジニアだったり, 組込みエンジニアだったりいろいろな方がいらっしゃいました.

イントロダクション

私もいままで OSS を利用したことはあるものの, 何かを発信したり, 有名な OSS の開発に携わったことはありません. QA という職業柄, 開発がメインの業務ではなくツールを作ることはあるにせよ集団での開発の経験はほぼないため, 全く知らない人達の開発に参加するというのは少しハードルが高い認識です.

まずは, 私も持っていたようなそういった認識を解消するためのイントロダクションを用意してくれていました. OSS コントリビューションに関する一般的な誤解や不安として以下の4点が挙がっていました.

  • 強くないと出来なさそう
  • めっちゃマサカリ来そう
  • まとまった時間が無いとダメそう
  • 英語がわからないとできなさそう

この中で私も思っていたのは, 以下2点です.

  • 強くないとできなさそう
  • まとまった時間がないとダメそう

そもそもの実装力がないと, レビューや文書を書くこともままならないのではと思っていました. また, OSS 自体を使えるぐらいの実装力がないと, 何をすべきか(どうやって貢献するか)みたいなこともわからないものかなと思っていました. しかし実際は各 OSS ではすでに課題として Issue が挙げられておりそこから取り掛かったり, OSSを使っていての疑問点などを挙げることなどでも貢献できることがわかりました.

今回の末村さんが実際に体験した例では, コードをみての Typo の修正などから初めてみたり, ドキュメントのリンク切れを修正したりと気軽にできそうなことから始められたそうです. どんな小さな修正でもレビューアは優しく接してくれるみたいで, それも励みになっているみたいですね.

また, こういった活動は割と時間がかかるものだと予想されるためまとまった時間が無いと継続的に実施するのが難しいのかなと思っていましたが, 上記の通りできる範囲での貢献だとそこまで時間が取られなさそうなのはわかりました. 少しずつ自分でできる範囲を広げていくのが大事みたいですね. 一つだけアドバイスをされていたのが, 業務で使っている OSS だととっかかりやすいということです. 全く触っていないものにアプローチするのも不思議な話ですしそれはそのとおりだと思いました.

ここまできて何かやってみたいなという気分になれましたね.

ハンズオン (Github を使ってのコミット・マージ)

OSS の活動をする上において最低限わかっていないといけないのは Git の使い方です. なぜなら多くの OSS は Git で管理されているからです. ハンズオンでは Git で初めてのコミットを体験しました (私の場合は多少はつかっていますので, 割とスムーズにできました)

今回, ハンズオンとして取り組んだのは First Contribution です. これは面白いプロジェクトで, リポジトリのフォーク, クローンから最初の pull request , マージまでを教えてくれるものです. 基本的には README を見ながら進めて行けば OK です. ただし, 今後色々やることを考えて ssh アクセスができるようになってたほうがいいかなと思いました. こちらの記事 が参考になります.

貢献したいプロジェクト選定について

最後に今後どのようにプロジェクトを選ぶかについての説明がありました.

まず, Good First Issue から探すのが良いといった話でした. Good First Issue というのは最初に取り掛かるのに最適な課題としてプロジェクト側で設定されているものです. 例えば Kubernetes だと紫っぽいラベルが付いたものになります.

good first issueの例

また, 興味のある分野じゃないと続かないはずなので, そういったところから探すのも良いと言っておられました. これはまとめてくれている人がいるので, Good First Issue と同様に探してみるのもいいかもしれません.
Awesome lists about all kinds of interesting topics
とりあえず私は, テストに興味があるので, そのあたりでなんか面白いプロジェクトがないか探してみます. リポジトリの中には README.md などのファイルがありますが, 大文字のファイル名のやつは重要なのでとりあえず目を通すといいらしいです.

最後に, 発表者の末村さんだけでなく, スタッフの方も親切に対応してくださっていました. 明るく接していただいたので楽しい勉強会になったかなと思います. 今回学んだことをなるべく早く行動に移せるように取り組んでいきたいなと思いました(よくSelenium 使ってるし, Seleniumでもやろうかな)