QAのロードマップがあったので見てみた

# QAロードマップについて
エンジニア領域は細分化され、学ぶべきこと・知っておくべきことの範囲が多くなりました。
それは、もちろん技術でできることが増えたりしているからですが、QA・QAエンジニアにおいても学ぶべきこと・知っておくべきことも増えてきたのも事実です。

今回は、こちらのQAロードマップを見ながら、QAでの学ぶべきこと・知っておくべきことについて考えていきたいと思います。
[Awesome Quality Assurance Road Map](https://github.com/fityanos/awesome-quality-assurance-road-map)
## 概要
まず3段階に深くするものがあります。それらは、以下の通りです。<br>

- テスト戦略・設計・計画
- マニュアルテスト（手動テスト）
- 自動テスト（テスト自動化など）
※各段階の名前は筆者の意訳であります。  

このロードマップをご覧になられる方の多くはテスト業務を主として携わられている方かと思います。
既知のものもそうでないものも含まれているかと思いますが、個人的には実践で得られた知識をこういったものを見ながら
スキルの棚卸なんかをしていくことは大事なんじゃないかなと感じています。
## テスト戦略・設計・計画
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/167969/161215ce-fb60-b480-f4c4-5d05688d53db.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/167969/840d447c-da4c-a820-3102-af69adf57527.png)
まず「Start with the base fundamentals」という言葉があり、文字通り「基本的な知識」ですね。
テスト業務に携わられる中で出自としては、「エンジニアだったかそうでないか」の2択がほとんどかと思います。
その中で求められる「基本的な知識」というのが、何を指すかは個々人や組織によって変わってきますが、これも世にあるロードマップを参考にしてみましょう。

ざっとこのように大別されています。このような基礎知識も前提条件として身に着けておくべきかもしれませんね。

- internet
- HTML&CSS
- JavaScript
- Version Control Systems
- Web Security

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/167969/db4b54fe-2300-b592-a002-e13f755ddddf.png)
Frontend Developerのロードマップより　[^1]

さて改めてテスト戦略・設計・計画のパートを見ていくと以下のように大別されています。

- テスト戦略
- テストタイプ
- STLCマネジメント
- プロジェクトマネジメント

 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/167969/6b2669ff-779c-8b3d-59f9-367b9dade37d.png)

これらの知識を学ぶ上で役に立ちそうな本は、以下かと思います。
テスト技法に寄りすぎているかもしれませんが、ソフトウェアテストが何たるかは理解できるのかなと思います。
プロジェクトマネジメントに関しては、業務を通して学ぶ場合や優れた記事が世に多数あるため割愛しますが、いい本があれば教えてください。

[はじめて学ぶソフトウェアテストのテスト技法](https://www.amazon.co.jp/%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E5%AD%A6%E3%81%B6%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%E3%83%86%E3%82%B9%E3%83%88%E6%8A%80%E6%B3%95-%E3%83%AA%E3%83%BC-%E3%82%B3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%B3%E3%83%89-ebook/dp/B00HE8082Q/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&dchild=1&keywords=%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%86%E3%82%B9%E3%83%88&qid=1609149465&sr=8-2)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/167969/9300bfb2-fcc4-bb5f-9214-8a668e63db55.png)
[知識ゼロから学ぶソフトウェアテスト](https://www.amazon.co.jp/%E7%9F%A5%E8%AD%98%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%86%E3%82%B9%E3%83%88-%E3%80%90%E6%94%B9%E8%A8%82%E7%89%88%E3%80%91-%E9%AB%98%E6%A9%8B%E5%AF%BF%E4%B8%80-ebook/dp/B00HQ7S5CA/ref=bmx_1?pd_rd_w=Bo5LD&pf_rd_p=2149407b-0896-4053-a80d-baa280ae868a&pf_rd_r=14CVYXEW40BNY39VBRG4&pd_rd_r=1fd278bf-a715-4450-b260-d73370b3f173&pd_rd_wg=vpOQJ&pd_rd_i=B00HQ7S5CA&psc=1)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/167969/696dc3ef-d289-65bf-d0b1-0051c09d4e65.png)

## マニュアルテスト
マニュアルテストの項目としては、以下が挙げられています。
テストケースやシナリオを考えることは業務上多く、ケースやシナリオを改善しつつ効率化していくことが肝であり、重要なことなのかなと個人的には考えております。

- TDD（テスト駆動開発）
- テスト計画
- テストケース＆シナリオ
- レポート
- 互換性
- 検証


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/167969/8f872a44-54a2-cead-c35c-cda010750999.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/167969/7be0a6da-3630-7695-3972-f2dea7430a32.png)

## 自動テスト
自動テストの項目として以下が挙げられています。
昨今非常にQA界隈では自動テストが盛り上がっている気がします。（ずっと前からかもしれませんが）
確かに、CypressやPlaywright、Puppeteerなど割と「簡単に」書けるものも増えてきており、そういった技術を身に着けて組織に定着させていきたいのかなと感じます。

- APIテスト自動化
- ブラウザテスト自動化
- ネイティブアプリテスト自動化
- パフォーマンステスト

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/167969/13d9a914-9b42-f46e-e436-060dc656a568.png)

## さいごに
開発手法やチームの在り方でテストに対する携わり方は、さまざまあるかと思います。
また受託や自社開発といった区別でもやり方が変わってくるかと思います。
このロードマップが正しいわけでも間違っているわけでもなく全体感のトレンドとして未知のことや知りたいことを改めて深堀しつつ自らのあるいはQAチームとしてのロードマップなどを自分たちなりに作っていけることが大事なのかなと読んでみて思いました。


[^1]: https://roadmap.sh/frontend