Agile QA Night!! 2発表スライドです。 WACATE2018冬から内容を一部変更&公開用に一部修正しました。
組み込みマニュアルテスターだった私が、WEB系自動テストエンジニアに!?テストエンジニアに求められるスキルと今後のキャリア2019/06/20 AGILE QA NIGHT!! 2WACATE2018冬の再演越中谷郁美Copyright (C) 2019 WACATE All rights reserved
View Slide
派遣で組み込み系のスクリプトテストが中心でマニュアルテストしかしてこなかった私がCopyright (C) 2019 WACATE All rights reserved
WEB系の会社に転職して探索的テスト&自動テストが業務の中心になりました。Copyright (C) 2019 WACATE All rights reserved
このセッションでは、そんな私の経験からお話していきます。Copyright (C) 2019 WACATE All rights reserved
このセッションはあくまで個人の体験であり一般論と異なる場合がありますCopyright (C) 2019 WACATE All rights reserved
目次• 自己紹介• 異なるドメインに転職した際に感じた違い• 変わらずに応用できると思ったところ• キャリアを変えてみて思った事• 環境が変わったことで新たに取り組んでいること• 今後やりたいことCopyright (C) 2019 WACATE All rights reserved
自己紹介• 越中谷 郁美• テスト歴:およそ11年• 1社目(半年くらい)→2社目(10年くらい)→3社目(1年くらい)• 異業界からテストの業界に来た人• 元歯科衛生士だったりする• ソフトウェア工学であったり、テストに関する知識がない状態からスタートしているCopyright (C) 2019 WACATE All rights reserved
転職したのは昨年の4月の事、環境が、ガラッと変化した。Copyright (C) 2019 WACATE All rights reserved
最初は、かなり戸惑った。分野によってこんなにもテストに対する考え方が違うもの…?感覚が、全く違う気がするCopyright (C) 2019 WACATE All rights reserved
こんなに違うものなのか・・・• 受託または客先常駐での第三者検証• 担当の範囲に限定される• 基本的に担当のお客さんとのやり取りのみ• 重要な新規機能の時のみ開発チームと直接やり取りすることはある• 自社製品開発のQA• 開発チームにテストエンジニアとして加わりつつ、QA専任のメンバーとテスト設計や実行をしているメンバーのマネジメント• 開発以外の部署とのやり取りもある• プロジェクト全体にQAとして関与する会社と役割やポジションCopyright (C) 2019 WACATE All rights reserved
こんなに違うものなのか・・・• 裁量は限定的• やることが明確でルールが決まっていたため、業務や生活ルールを覚えるのが比較的簡単。• 一通りできるようになるまでのスピードは速かった• 裁量が大きい• 好きなことをやっていいといわれる• ルールや運用は変化し続ける• 自分で判断や意思決定することが必要になる自信がないときは辛い持てる裁量Copyright (C) 2019 WACATE All rights reserved
こんなに違うものなのか・・・• チームリーダーが存在する• リーダーの指示のもとで業務が行われる• 特に受託業務の場合はリーダーが客先との窓口になる• 指示待ちのメンバーが残念ながら発生する• リーダーは存在しない• QAがアルバイトメンバーのため勤怠の管理、開発チームからの依頼は自分にくるものの、指示やコントロールではなく相談しながら業務を進める• 開発チームは自律的に動くため全員がファシリテートを交代しながら進めているチーム体制Copyright (C) 2019 WACATE All rights reserved
Copyright (C) 2019 WACATE All rights reserved開発チーム評価チーム客先の担当者以前のチーム 現在のチームエンジニアテストエンジニアデザイナー営業サイドアナリスト(社内ユーザー)直接開発者と話す機会は少ない・・・ 同じフロアで仕事をし、必要に応じて相談していく
こんなに違うものなのか・・・• ウォーターフォールで開発• 開発の期間中はテスト設計、テスト実装• 市場リリースまでの期間はおよそ1年~1年半のものが多い(その内テスト期間は2か月前後)• アジャイル、TDD(BDD)で開発• 仕様(E2E自動テスト)を書いてから開発・実装される• 市場リリースまでの期間は基本は週1回。機能によっては1~2日/日に数回でリリースされる場合もある開発環境Copyright (C) 2019 WACATE All rights reserved
こんなに違うものなのか・・・• 対象分野は組み込み系• SWとHWが連携している分、設定条件の違い=状態が違うという感覚• 見えない状態変化がある• 実機で動かしてみないと発見できない問題もある• 対象分野はWeb系• 状態を意識することが少なくなった• 基本的に状態が変わると画面が変化する• 組み込みに比べると後からの仕様変更が容易に思える対象とする分野Copyright (C) 2019 WACATE All rights reserved
こんなに違うものなのか・・・• 基本的にマニュアルテスト• ときおり自動化ツールを使用することがあるが、補助的なもの• 保障するテスト(仕様通りに動くことを幅広く確認する)が多い• 自動テストとマニュアルテストの組み合わせ• 探索的にテストする場合はマニュアルテストを実施• 回帰的に実施しているものは自動化していく方針• ピンポイントで(確認する観点や場所を絞る)テストが多いシステムテストに対する考え方Copyright (C) 2019 WACATE All rights reserved
こんなに違うものなのか・・・• 仕様書が大量にあった(仕様を探す旅にでる)(更新漏れがちらほら・・・)• いくつかの設定や条件に対し組み合わせたケースごとにテストケースを作成している• ドキュメントは少ない• 自動テストの自然言語記述が仕様書、という扱い• 仕様(ふるまい)=テストケース• 仕様が古いまま自動テストを流すとエラーになるため、常に仕様は更新されていく仕様書とテストケースCopyright (C) 2019 WACATE All rights reserved
仕事を覚えていくうちに「あ、ここは変わらないな」「今までの経験値から応用できるな」そう思えるものも存在していたCopyright (C) 2019 WACATE All rights reserved
• テスト設計する際の考え方や基礎知識• テストレベル、テストタイプなど理解して使い分けられているか• テストの目的を意識すること(なんでテストしたいんだっけ?テストしてどういう結果が欲しいんだっけ?)• テストをするための分析はやはりするよね• テストの粒度はどのくらい?という検討ができるこういうことは以前からやっていたな・・・Copyright (C) 2019 WACATE All rights reserved
• テスト実行順を意識するリスクベースで優先順位考える、など• レビュー• 対象が変わっても、着目するポイントに大差はなかった(レビュー自体はドキュメントが減ったため少なくなった)こういうことは以前からやっていたな・・・Copyright (C) 2019 WACATE All rights reserved
複数の現場やポジションを経験して改めて大事だなと思った事は「基礎知識は馬鹿にできないな」だったCopyright (C) 2019 WACATE All rights reserved
JSTQBのFLレベルな事でも現場の必要に応じて適応できるほど理解できているだろうか?Copyright (C) 2019 WACATE All rights reserved
例えばテスト設計技法使うとき「何の問題を解決するために使うんだっけ?」というのを考えて適応しているか?Copyright (C) 2019 WACATE All rights reserved
何となく今までやってたからで適応しちゃってません?Copyright (C) 2019 WACATE All rights reserved
それぞれの現場で大切にしている品質は異なるからテストに正解はないそれでも答えを出さなきゃいけないCopyright (C) 2019 WACATE All rights reserved
答えを出すための切り札は難しい知識でなくても基本的なところからでも作っていけると思ったCopyright (C) 2019 WACATE All rights reserved
その一方で新しい現場で必要な技術の学習や工夫を進めていますCopyright (C) 2019 WACATE All rights reserved
• アジャイルテストについて• 価値を届けることを最優先にするってどうすれば???を常に考える• サイクルが短いのでウォーターフォールの時のようにテスト設計に時間はかけられない。• アジャイル開発でのテストはどうすれば???• Web環境について• 自分がテストしている環境がどのようになっているのかをざっと理解したところ直面するようになって、改めて勉強中Copyright (C) 2019 WACATE All rights reserved
• 自動テストについて• そもそも、コード書いたことがなかった• 自動テストを書くためにプログラミング言語について学習中• 自動テストは開発の人が作成している。その中で開発チームに混ざってモブプロ、またはペアプロで書いている(ドライバーになることが多い)自然言語から書き始めるため、何を書いているかが理解しやすい。また、書きながら「どうテストするか?どこまでやるか?」をその場で相談しながら進められる出来ないことができるようになるの、楽しい~Copyright (C) 2019 WACATE All rights reserved
キャリアを変えて思ったこと• まぁ何とかできる• テストに絶対の正解はない。今までのやり方が正しいとは限らない• 自分の現場にとって、よりベストな方法ないのか?考えて少しずつ変えてみる経験が役に立った• 自分のできること、できないこと、やりたいことが認識できていることフォローももらいやすい• 自分の頭で考える、実行してみる• 自分の考えがあるのは大事。でも価値観にとらわれすぎないでCopyright (C) 2019 WACATE All rights reserved
今後のキャリアについては・・・• あまり先までは考えていない• プロジェクト全体のテストに関わりたい• QAが関与できる領域は増やしたい• パラレルにキャリアを広げることをしたい• どちらにせよ、楽しめる方を選びたいCopyright (C) 2019 WACATE All rights reserved
Copyright (C) 2019 WACATE All rights reservedご清聴ありがとうございました!WACATEWorkshop for Accelerating CApable Testing Engineers