テスト未経験の2卒が、今後のキャリアを考えるためにQAのロードマップを翻訳してみた
はじめに
こんにちは。株式会社SHIFT QAエンジニアの小谷です。
2023年11月にSHIFTへ入社しました。
前職はフロントエンドエンジニアで、入社時はテストのことについて、正直なところほとんど知らない状態でした。 そして迫りくる初めての目標設定で、「そもそもQAのキャリアってなんだ...?」という状態になったので、 QAロードマップを翻訳しながら読み進めてみることにしました。
roadmap.shについて
みんな大好きroadmap.sh (ですよね?) 前職ではフロントエンドエンジニアだったので、qiitaで和訳してくれる つよつよエンジニア達の考察をちょこちょこ見ていましたが、 QA版の和訳は2022年のものを最後に見当たらず... 。「和訳がないなら和訳を書けばいいじゃない」の精神で筆を取った次第です。 全項目に触れているととんでもない分量になるので、個人的に気になる部分を ピックアップしつつ進めていきます。 新人視点の考察になるので、皆様の華麗ななツッコミ、ご意見ドシドシいただきたいです。
同期や後輩の皆様も1つの参考例として見つつ、自分のケースに落とし込んでもらえれば幸いです。
QA版ロードマップ
Steps to follow in order to become a modern QA Engineer in 2024
基本を学ぶ (Learn the fundamentals)
基本をおろそかにしない。これは受験勉強やスポーツ、ゲームなどあらゆることから学んできましたね。結局一番大事なのは基本なのです。(知らんけど)
GAI CHAT君に聞いて取り上げるトピックを紫で囲んでみました
テストオラクル(Test Oracles)ってなんぞや
JSTQBに出てくる用語らしい
「テスト対象の実行結果と比較可能な具体的なテストデータや期待結果が掲載されている情報元」
テストオラクルになる情報元「記載例の通り、入力値の積を出力する。例:11=1、12=2、13=3 … 99=81」
テストオラクルにならない情報元「入力値の積を出力する。」
用語は抑えられてなかったけど設計の時はやってるなこれ
おススメの資格を聞いた際に皆さん仰ってる通りJSTQBと基本情報は取って良さそう
テストマネジメントツール (Manage your Testing)
案件によってはCATを使わないこともあるみたいなので覚えておいて損は無い程度?
テスト手法(Testing Techniques)
知ってるテストも多いけど知らないものも多い
テスト戦略側を担当するなら色んなテスト知っておいた方がいいよね
となると1-2年後くらいにはこの辺の幅は増やしていきたいかな
ソフトウェア開発サイクル (SDLC
アジャイル
ウォーターフォール
Vモデル
この辺はかなり学べているはず
アジャイルへの理解はもっと必要だけど...
手動テスト (Manual Testing)
この辺りからキャリアを考える上での取捨選択が重要そう?
テスト計画(Test Planning)
ここもいずれは手を出したいところ
中身を知らないと計画しようがないので直近は下流部分の理解を深めるのに注力
ここまでは1年かからず進みたい?(実務でやるかはさておき)
テスト駆動開発(TDD)
テストを作ってからコードを書いてエラーを潰していく手法
前職開発側だったしこの辺はちょっと触れてみたい
テストコード側に問題があった場合、エラー0のコードを書いても意味がないので、良くも悪くもテスト側の責任が大きくなる
自動テスト (Automated Testing)
直近一番力を入れたいと思っているところ
フロント側の自動テスト (Frontend automation)
案件に入ってちょうど1ヶ月ほどが経ち、担当フィーチャーに余裕があるスプリントだったので自動化に挑戦することに。Playwrightでのフロント側の自動テストだったが、前職の経験もありわりとスムーズなオンボーディングができた。
多分ここくらいでしかアドバイスできないのでこれから自動化に触れていきたいという方々へのアドバイスを
基本的なHTML/CSSの知識を付けよう
開発者ツールを使いつぶそう
Javascriptを学ぼう(Java等の別言語でも可)
Chromeなどの開発者ツールについて
ソースコードの確認だけではなくできることが非常に多い
APIのレスポンスとかも見れるので自動テストを作る際に使いまくる
とりあえずF12
Javascriptを学ぼう
開発未経験だとここが辛そう
簡単な演算とかから少しずつレベルアップを
引数、import、スプレッド構文、ajaxなどつまずきそうな部分は動画教材を使うかメンターに教えてもらうのをオススメ
JestとSeleniumは聞いたことあるけど他は知らない。フロントやバックエンドの言語ほど移り変わりは激しくないとのことだが、QAの道も勉強することは尽きなさそうだ。
バックエンド側の自動テスト (Backend Automation)
研修でPostmanを使った自動テストをした
Cake.phpとLaravelは触ったことがあるので完全に理解した(理解していない)
そもそもバックエンド側のテスト案件が自分に回ってくることはあるのかな...?
とりあえず優先度は低め
非機能テスト (Non Functional Testing)
何これってなったけど説明読んで理解
QAとしてとりあえず動くかどうかのテストも大事だけど、こここうした方がサイトの表示速度もっと早くなりますよ、とかここセキュリティ上問題があるので直した方がいいですね。といったことを問題となる前に指摘できる能力は非常に欲しい。
当たり前品質の先の部分であり、お客様評価にも大幅に+に動くはずなので、この辺りの習得は優先度高めでやっていきたい。
報告(QA reporting)
このあたりもISTQBでしっかりと定義されているようなのでとりあえずJSTQBを取ろう。
基本情報取ってからJSTQB取ろうと思ってたけどJSTQB先のほうが色々得られるものが多そう。(自分の場合だと基本情報の内容は薄く広く既に知っている部分も多いし)
モニタリングとログ (Monitoring and Logs)
このあたりはまださっぱり。GitHub Actionsで自動デプロイとかに触れたことがある程度。
非機能テスト同様お客様評価にはつながる部分だとは思うがまだすぐに触る機会はなさそうなのと、非機能テストの次のレベルだと思うので優先度は低め。
バージョン管理システム (Version Control Systems)
Gitも一通りの基本的な使い方はわかるけどそれだけ。正直学び足りてない部分が大量にあるのは自覚しているので必要になった時勉強するつもり。
CI / CD
このあたりはアジャイルアカデミーですたかさんにつっこまれてかなり調べた。
アジャイル開発に関わる限りこのあたりの知識も間違いなく必要なのはわかるけど優先度はどれくらいで置けばいいかまだわからない。
とりあえずJenkinsとは案件の中で仲良くできている。
ヘッドレステスト (Headless Testing)
ヘッドレスCMSとかヘッドレスサーバーとかは知っていたので大方予想通りの内容だった。
おわりに
上記をもとにキャリアプランを考えよう
気になった部分だけをピックアップしたつもりでしたがここまで大分長くなってしまいました。
目標設定や将来のキャリアに悩んでいる方はキャリアマップから自分の将来像を考えてみるといいのではないでしょうか!私もこのキャリアマップから目標設定を行いました!
〆の挨拶
いかがでしたでしょうか!目標設定やキャリア選定の参考になっていれば幸いです!技術ブログ執筆にあたりレビューや知識提供などのご協力をいただいた皆様にもここで感謝の辞を述べさせていただきます。ありがとうございました!
お問合せはお気軽に
https://service.shiftinc.jp/contact/
SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/
SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/
SHIFTの導入事例
https://service.shiftinc.jp/case/
お役立ち資料はこちら
https://service.shiftinc.jp/resources/
SHIFTの採用情報はこちら
https://recruit.shiftinc.jp/career/
PHOTO:gaichat生成