Upgrade to Pro — share decks privately, control downloads, hide ads and more …

大切なことはすべてエンジニアに教わった〜底辺QAが試行錯誤しながら学んだ「協業」の作法〜

 大切なことはすべてエンジニアに教わった〜底辺QAが試行錯誤しながら学んだ「協業」の作法〜

2019/06/26 QuALiTy LT資料
https://teamspirit.connpass.com/event/132457/

tsuemura

June 26, 2019
Tweet

More Decks by tsuemura

Other Decks in Technology

Transcript

  1. 大切なことは全てエンジニアに教わった 大切なことは全てエンジニアに教わった 大切なことは全てエンジニアに教わった 大切なことは全てエンジニアに教わった 大切なことは全てエンジニアに教わった 大切なことは全てエンジニアに教わった 底辺QA が試行錯誤しながら学んだ「協業」の作法 底辺QA が試行錯誤しながら学んだ「協業」の作法

    底辺QA が試行錯誤しながら学んだ「協業」の作法 底辺QA が試行錯誤しながら学んだ「協業」の作法 底辺QA が試行錯誤しながら学んだ「協業」の作法 底辺QA が試行錯誤しながら学んだ「協業」の作法 末村 拓也 @ 株式会社オープンロジ 末村 拓也 @ 株式会社オープンロジ 末村 拓也 @ 株式会社オープンロジ 末村 拓也 @ 株式会社オープンロジ 末村 拓也 @ 株式会社オープンロジ 末村 拓也 @ 株式会社オープンロジ 1 / 20
  2. こんにちは こんにちは こんにちは こんにちは こんにちは こんにちは 末村 拓也(すえむら たくや)といいます 末村

    拓也(すえむら たくや)といいます 末村 拓也(すえむら たくや)といいます 末村 拓也(すえむら たくや)といいます 末村 拓也(すえむら たくや)といいます 末村 拓也(すえむら たくや)といいます 神龍にテストをさせるQiita 記事で一瞬だけ有名になりました 神龍にテストをさせるQiita 記事で一瞬だけ有名になりました 神龍にテストをさせるQiita 記事で一瞬だけ有名になりました 神龍にテストをさせるQiita 記事で一瞬だけ有名になりました 神龍にテストをさせるQiita 記事で一瞬だけ有名になりました 神龍にテストをさせるQiita 記事で一瞬だけ有名になりました             2 / 20
  3. こんな人です こんな人です こんな人です こんな人です こんな人です こんな人です もともと非エンジニアでした もともと非エンジニアでした もともと非エンジニアでした もともと非エンジニアでした

    もともと非エンジニアでした もともと非エンジニアでした フォークリフトに乗ったりしていました フォークリフトに乗ったりしていました フォークリフトに乗ったりしていました フォークリフトに乗ったりしていました フォークリフトに乗ったりしていました フォークリフトに乗ったりしていました いろいろあってエンジニアになりました いろいろあってエンジニアになりました いろいろあってエンジニアになりました いろいろあってエンジニアになりました いろいろあってエンジニアになりました いろいろあってエンジニアになりました PHPer でした PHPer でした PHPer でした PHPer でした PHPer でした PHPer でした 今はオープンロジという会社でQA エンジニアをやってます 今はオープンロジという会社でQA エンジニアをやってます 今はオープンロジという会社でQA エンジニアをやってます 今はオープンロジという会社でQA エンジニアをやってます 今はオープンロジという会社でQA エンジニアをやってます 今はオープンロジという会社でQA エンジニアをやってます 非エンジニア時代に培った物流ドメインの知識と 非エンジニア時代に培った物流ドメインの知識と 非エンジニア時代に培った物流ドメインの知識と 非エンジニア時代に培った物流ドメインの知識と 非エンジニア時代に培った物流ドメインの知識と 非エンジニア時代に培った物流ドメインの知識と エンジニアとしての経験を活かして エンジニアとしての経験を活かして エンジニアとしての経験を活かして エンジニアとしての経験を活かして エンジニアとしての経験を活かして エンジニアとしての経験を活かして 物流スタートアップでプロダクトの品質保証をしています 物流スタートアップでプロダクトの品質保証をしています 物流スタートアップでプロダクトの品質保証をしています 物流スタートアップでプロダクトの品質保証をしています 物流スタートアップでプロダクトの品質保証をしています 物流スタートアップでプロダクトの品質保証をしています                                                 3 / 20
  4. これから話すこと これから話すこと これから話すこと これから話すこと これから話すこと これから話すこと よわよわQA エンジニアのおれが よわよわQA エンジニアのおれが

    よわよわQA エンジニアのおれが よわよわQA エンジニアのおれが よわよわQA エンジニアのおれが よわよわQA エンジニアのおれが つよつよ開発エンジニアたちと つよつよ開発エンジニアたちと つよつよ開発エンジニアたちと つよつよ開発エンジニアたちと つよつよ開発エンジニアたちと つよつよ開発エンジニアたちと どうやって協業しているかを話します どうやって協業しているかを話します どうやって協業しているかを話します どうやって協業しているかを話します どうやって協業しているかを話します どうやって協業しているかを話します                   4 / 20
  5. 前提 前提 前提 前提 前提 前提 そもそも仲は良い そもそも仲は良い そもそも仲は良い そもそも仲は良い

    そもそも仲は良い そもそも仲は良い 不具合が出ても「QA が悪い」「開発が悪い」みたいな空気には 不具合が出ても「QA が悪い」「開発が悪い」みたいな空気には 不具合が出ても「QA が悪い」「開発が悪い」みたいな空気には 不具合が出ても「QA が悪い」「開発が悪い」みたいな空気には 不具合が出ても「QA が悪い」「開発が悪い」みたいな空気には 不具合が出ても「QA が悪い」「開発が悪い」みたいな空気には ならない ならない ならない ならない ならない ならない             5 / 20
  6. スキルセット スキルセット スキルセット スキルセット スキルセット スキルセット 開発エンジニア 開発エンジニア 開発エンジニア 開発エンジニア

    開発エンジニア 開発エンジニア 開発スキルはもちろん高い 開発スキルはもちろん高い 開発スキルはもちろん高い 開発スキルはもちろん高い 開発スキルはもちろん高い 開発スキルはもちろん高い 強エンジニアほどテストに関する理解も深い 強エンジニアほどテストに関する理解も深い 強エンジニアほどテストに関する理解も深い 強エンジニアほどテストに関する理解も深い 強エンジニアほどテストに関する理解も深い 強エンジニアほどテストに関する理解も深い ドメイン知識は人による ドメイン知識は人による ドメイン知識は人による ドメイン知識は人による ドメイン知識は人による ドメイン知識は人による QA エンジニア QA エンジニア QA エンジニア QA エンジニア QA エンジニア QA エンジニア エンジニアスキルは農民レベル エンジニアスキルは農民レベル エンジニアスキルは農民レベル エンジニアスキルは農民レベル エンジニアスキルは農民レベル エンジニアスキルは農民レベル テストの知識はまあまあ テストの知識はまあまあ テストの知識はまあまあ テストの知識はまあまあ テストの知識はまあまあ テストの知識はまあまあ 全プロダクトを横断的に触っておりドメイン知識は多い 全プロダクトを横断的に触っておりドメイン知識は多い 全プロダクトを横断的に触っておりドメイン知識は多い 全プロダクトを横断的に触っておりドメイン知識は多い 全プロダクトを横断的に触っておりドメイン知識は多い 全プロダクトを横断的に触っておりドメイン知識は多い                                     6 / 20
  7. どんなときが教え合うチャンスか どんなときが教え合うチャンスか どんなときが教え合うチャンスか どんなときが教え合うチャンスか どんなときが教え合うチャンスか どんなときが教え合うチャンスか 不具合に遭遇したが、原因が良く分からないとき 不具合に遭遇したが、原因が良く分からないとき 不具合に遭遇したが、原因が良く分からないとき 不具合に遭遇したが、原因が良く分からないとき

    不具合に遭遇したが、原因が良く分からないとき 不具合に遭遇したが、原因が良く分からないとき よく不具合が起きる場所を見つけたとき よく不具合が起きる場所を見つけたとき よく不具合が起きる場所を見つけたとき よく不具合が起きる場所を見つけたとき よく不具合が起きる場所を見つけたとき よく不具合が起きる場所を見つけたとき 手動では再現が難しいテストを行う時 手動では再現が難しいテストを行う時 手動では再現が難しいテストを行う時 手動では再現が難しいテストを行う時 手動では再現が難しいテストを行う時 手動では再現が難しいテストを行う時 インシデントが発生したとき インシデントが発生したとき インシデントが発生したとき インシデントが発生したとき インシデントが発生したとき インシデントが発生したとき                         8 / 20
  8. 一緒にデバッグをする 一緒にデバッグをする 一緒にデバッグをする 一緒にデバッグをする 一緒にデバッグをする 一緒にデバッグをする 「ここで不具合が出ているようなので、原因の切り分けを手伝っ 「ここで不具合が出ているようなので、原因の切り分けを手伝っ 「ここで不具合が出ているようなので、原因の切り分けを手伝っ 「ここで不具合が出ているようなので、原因の切り分けを手伝っ

    「ここで不具合が出ているようなので、原因の切り分けを手伝っ 「ここで不具合が出ているようなので、原因の切り分けを手伝っ てほしい」 てほしい」 てほしい」 てほしい」 てほしい」 てほしい」 みたいなシチュエーション みたいなシチュエーション みたいなシチュエーション みたいなシチュエーション みたいなシチュエーション みたいなシチュエーション 9 / 20
  9. 教えてもらえること 教えてもらえること 教えてもらえること 教えてもらえること 教えてもらえること 教えてもらえること デバッグのスキル デバッグのスキル デバッグのスキル デバッグのスキル

    デバッグのスキル デバッグのスキル デバッガーの使い方 デバッガーの使い方 デバッガーの使い方 デバッガーの使い方 デバッガーの使い方 デバッガーの使い方 いわゆるprint デバッグ的なやりかた いわゆるprint デバッグ的なやりかた いわゆるprint デバッグ的なやりかた いわゆるprint デバッグ的なやりかた いわゆるprint デバッグ的なやりかた いわゆるprint デバッグ的なやりかた ブラウザのDevTool の使い方 ブラウザのDevTool の使い方 ブラウザのDevTool の使い方 ブラウザのDevTool の使い方 ブラウザのDevTool の使い方 ブラウザのDevTool の使い方 ログの見方 ログの見方 ログの見方 ログの見方 ログの見方 ログの見方 どんなエラーがやばいやつなのか どんなエラーがやばいやつなのか どんなエラーがやばいやつなのか どんなエラーがやばいやつなのか どんなエラーがやばいやつなのか どんなエラーがやばいやつなのか スタックトレースの追いかけ方 スタックトレースの追いかけ方 スタックトレースの追いかけ方 スタックトレースの追いかけ方 スタックトレースの追いかけ方 スタックトレースの追いかけ方 不具合調査や障害対応はエンジニアの方が圧倒的に上手 不具合調査や障害対応はエンジニアの方が圧倒的に上手 不具合調査や障害対応はエンジニアの方が圧倒的に上手 不具合調査や障害対応はエンジニアの方が圧倒的に上手 不具合調査や障害対応はエンジニアの方が圧倒的に上手 不具合調査や障害対応はエンジニアの方が圧倒的に上手 効率の良い原因の切り分け方を教わろう 効率の良い原因の切り分け方を教わろう 効率の良い原因の切り分け方を教わろう 効率の良い原因の切り分け方を教わろう 効率の良い原因の切り分け方を教わろう 効率の良い原因の切り分け方を教わろう                                           10 / 20
  10. 一緒にテストをする 一緒にテストをする 一緒にテストをする 一緒にテストをする 一緒にテストをする 一緒にテストをする 「この部分はよく不具合が出るので、一緒にテストしましょう」 「この部分はよく不具合が出るので、一緒にテストしましょう」 「この部分はよく不具合が出るので、一緒にテストしましょう」 「この部分はよく不具合が出るので、一緒にテストしましょう」

    「この部分はよく不具合が出るので、一緒にテストしましょう」 「この部分はよく不具合が出るので、一緒にテストしましょう」 「このテストで大量にテストデータが必要だが、効率の良い作り 「このテストで大量にテストデータが必要だが、効率の良い作り 「このテストで大量にテストデータが必要だが、効率の良い作り 「このテストで大量にテストデータが必要だが、効率の良い作り 「このテストで大量にテストデータが必要だが、効率の良い作り 「このテストで大量にテストデータが必要だが、効率の良い作り 方はないか」 方はないか」 方はないか」 方はないか」 方はないか」 方はないか」 みたいなシチュエーション みたいなシチュエーション みたいなシチュエーション みたいなシチュエーション みたいなシチュエーション みたいなシチュエーション 11 / 20
  11. 教えられること 教えられること 教えられること 教えられること 教えられること 教えられること テスト技法 テスト技法 テスト技法 テスト技法

    テスト技法 テスト技法 テストケースの作り方 テストケースの作り方 テストケースの作り方 テストケースの作り方 テストケースの作り方 テストケースの作り方 不具合の出やすい箇所 不具合の出やすい箇所 不具合の出やすい箇所 不具合の出やすい箇所 不具合の出やすい箇所 不具合の出やすい箇所 不具合を見つける方法論や嗅覚はテスターが圧倒的に上手 不具合を見つける方法論や嗅覚はテスターが圧倒的に上手 不具合を見つける方法論や嗅覚はテスターが圧倒的に上手 不具合を見つける方法論や嗅覚はテスターが圧倒的に上手 不具合を見つける方法論や嗅覚はテスターが圧倒的に上手 不具合を見つける方法論や嗅覚はテスターが圧倒的に上手 効率よく不具合を見つける方法を教えてあげよう 効率よく不具合を見つける方法を教えてあげよう 効率よく不具合を見つける方法を教えてあげよう 効率よく不具合を見つける方法を教えてあげよう 効率よく不具合を見つける方法を教えてあげよう 効率よく不具合を見つける方法を教えてあげよう 不具合が良く発生するところを 不具合が良く発生するところを 不具合が良く発生するところを 不具合が良く発生するところを 不具合が良く発生するところを 不具合が良く発生するところを 社内Wiki とかにまとめておくと喜ばれる 社内Wiki とかにまとめておくと喜ばれる 社内Wiki とかにまとめておくと喜ばれる 社内Wiki とかにまとめておくと喜ばれる 社内Wiki とかにまとめておくと喜ばれる 社内Wiki とかにまとめておくと喜ばれる                   12 / 20
  12. 教えてもらえること 教えてもらえること 教えてもらえること 教えてもらえること 教えてもらえること 教えてもらえること 効率の良いテストデータの作り方 効率の良いテストデータの作り方 効率の良いテストデータの作り方 効率の良いテストデータの作り方

    効率の良いテストデータの作り方 効率の良いテストデータの作り方 テスト結果の確認方法 テスト結果の確認方法 テスト結果の確認方法 テスト結果の確認方法 テスト結果の確認方法 テスト結果の確認方法 Diff の取り方など Diff の取り方など Diff の取り方など Diff の取り方など Diff の取り方など Diff の取り方など 開発・オペレーション用の便利スクリプト・コマンド 開発・オペレーション用の便利スクリプト・コマンド 開発・オペレーション用の便利スクリプト・コマンド 開発・オペレーション用の便利スクリプト・コマンド 開発・オペレーション用の便利スクリプト・コマンド 開発・オペレーション用の便利スクリプト・コマンド エンジニアはユニットテストでたくさんテストデータを作る エンジニアはユニットテストでたくさんテストデータを作る エンジニアはユニットテストでたくさんテストデータを作る エンジニアはユニットテストでたくさんテストデータを作る エンジニアはユニットテストでたくさんテストデータを作る エンジニアはユニットテストでたくさんテストデータを作る 手動テストで役に立つ知識もあるはず 手動テストで役に立つ知識もあるはず 手動テストで役に立つ知識もあるはず 手動テストで役に立つ知識もあるはず 手動テストで役に立つ知識もあるはず 手動テストで役に立つ知識もあるはず                         13 / 20
  13. インシデント対応 インシデント対応 インシデント対応 インシデント対応 インシデント対応 インシデント対応 Web サーバが息してない! Web サーバが息してない!

    Web サーバが息してない! Web サーバが息してない! Web サーバが息してない! Web サーバが息してない! CPU 使用率が100% 張り付きだ! CPU 使用率が100% 張り付きだ! CPU 使用率が100% 張り付きだ! CPU 使用率が100% 張り付きだ! CPU 使用率が100% 張り付きだ! CPU 使用率が100% 張り付きだ! キューが消化されてない! キューが消化されてない! キューが消化されてない! キューが消化されてない! キューが消化されてない! キューが消化されてない! エンジニアが焦ってますね…… ? エンジニアが焦ってますね…… ? エンジニアが焦ってますね…… ? エンジニアが焦ってますね…… ? エンジニアが焦ってますね…… ? エンジニアが焦ってますね…… ? CS の電話も鳴りっぱなしですね…… ? CS の電話も鳴りっぱなしですね…… ? CS の電話も鳴りっぱなしですね…… ? CS の電話も鳴りっぱなしですね…… ? CS の電話も鳴りっぱなしですね…… ? CS の電話も鳴りっぱなしですね…… ?                   14 / 20
  14. つよつよエンジニアに任せればいい?いやいや…… つよつよエンジニアに任せればいい?いやいや…… つよつよエンジニアに任せればいい?いやいや…… つよつよエンジニアに任せればいい?いやいや…… つよつよエンジニアに任せればいい?いやいや…… つよつよエンジニアに任せればいい?いやいや…… よわよわQA にも出来ることはあるはず よわよわQA にも出来ることはあるはず

    よわよわQA にも出来ることはあるはず よわよわQA にも出来ることはあるはず よわよわQA にも出来ることはあるはず よわよわQA にも出来ることはあるはず 分からないなりにログを見てみたり 分からないなりにログを見てみたり 分からないなりにログを見てみたり 分からないなりにログを見てみたり 分からないなりにログを見てみたり 分からないなりにログを見てみたり 他のエンジニアが見てなさそうなところを確認してみたり 他のエンジニアが見てなさそうなところを確認してみたり 他のエンジニアが見てなさそうなところを確認してみたり 他のエンジニアが見てなさそうなところを確認してみたり 他のエンジニアが見てなさそうなところを確認してみたり 他のエンジニアが見てなさそうなところを確認してみたり 障害の起きているサービスと起きていないサービスを比較してみた 障害の起きているサービスと起きていないサービスを比較してみた 障害の起きているサービスと起きていないサービスを比較してみた 障害の起きているサービスと起きていないサービスを比較してみた 障害の起きているサービスと起きていないサービスを比較してみた 障害の起きているサービスと起きていないサービスを比較してみた り り り り り り 想定外のところにも障害が波及していないか確認したり 想定外のところにも障害が波及していないか確認したり 想定外のところにも障害が波及していないか確認したり 想定外のところにも障害が波及していないか確認したり 想定外のところにも障害が波及していないか確認したり 想定外のところにも障害が波及していないか確認したり 役に立てなくても参加しよう 役に立てなくても参加しよう 役に立てなくても参加しよう 役に立てなくても参加しよう 役に立てなくても参加しよう 役に立てなくても参加しよう 戦闘に参加してさえいれば、攻撃してなくても経験値は入る 戦闘に参加してさえいれば、攻撃してなくても経験値は入る 戦闘に参加してさえいれば、攻撃してなくても経験値は入る 戦闘に参加してさえいれば、攻撃してなくても経験値は入る 戦闘に参加してさえいれば、攻撃してなくても経験値は入る 戦闘に参加してさえいれば、攻撃してなくても経験値は入る                                           15 / 20
  15. 失敗から学ぶ 失敗から学ぶ 失敗から学ぶ 失敗から学ぶ 失敗から学ぶ 失敗から学ぶ 振り返り超大事 振り返り超大事 振り返り超大事 振り返り超大事

    振り返り超大事 振り返り超大事 インシデントの原因は何だったのか インシデントの原因は何だったのか インシデントの原因は何だったのか インシデントの原因は何だったのか インシデントの原因は何だったのか インシデントの原因は何だったのか それらは開発フェーズで気づけなかったのか それらは開発フェーズで気づけなかったのか それらは開発フェーズで気づけなかったのか それらは開発フェーズで気づけなかったのか それらは開発フェーズで気づけなかったのか それらは開発フェーズで気づけなかったのか ユニットテスト書けば防げる問題だったかも? ユニットテスト書けば防げる問題だったかも? ユニットテスト書けば防げる問題だったかも? ユニットテスト書けば防げる問題だったかも? ユニットテスト書けば防げる問題だったかも? ユニットテスト書けば防げる問題だったかも? コードレビューや静的解析で気づけたかも? コードレビューや静的解析で気づけたかも? コードレビューや静的解析で気づけたかも? コードレビューや静的解析で気づけたかも? コードレビューや静的解析で気づけたかも? コードレビューや静的解析で気づけたかも? それらはテストフェーズで気づけなかったのか それらはテストフェーズで気づけなかったのか それらはテストフェーズで気づけなかったのか それらはテストフェーズで気づけなかったのか それらはテストフェーズで気づけなかったのか それらはテストフェーズで気づけなかったのか 大きいデータを入れてテストした? 大きいデータを入れてテストした? 大きいデータを入れてテストした? 大きいデータを入れてテストした? 大きいデータを入れてテストした? 大きいデータを入れてテストした? ログや監視ツールは見てる? ログや監視ツールは見てる? ログや監視ツールは見てる? ログや監視ツールは見てる? ログや監視ツールは見てる? ログや監視ツールは見てる? リスクベースでテストケースを作成できていた? リスクベースでテストケースを作成できていた? リスクベースでテストケースを作成できていた? リスクベースでテストケースを作成できていた? リスクベースでテストケースを作成できていた? リスクベースでテストケースを作成できていた?                                                 16 / 20
  16. Let's enjoy software development! Let's enjoy software development! Let's enjoy

    software development! Let's enjoy software development! Let's enjoy software development! Let's enjoy software development! 18 / 20
  17. 質問コーナー & ちょっとだけ宣伝 質問コーナー & ちょっとだけ宣伝 質問コーナー & ちょっとだけ宣伝 質問コーナー

    & ちょっとだけ宣伝 質問コーナー & ちょっとだけ宣伝 質問コーナー & ちょっとだけ宣伝 そんな楽しい感じのエンジニア&QA チームが そんな楽しい感じのエンジニア&QA チームが そんな楽しい感じのエンジニア&QA チームが そんな楽しい感じのエンジニア&QA チームが そんな楽しい感じのエンジニア&QA チームが そんな楽しい感じのエンジニア&QA チームが 来週7/3( 水) のQiita Jobs Meetup に登場します 来週7/3( 水) のQiita Jobs Meetup に登場します 来週7/3( 水) のQiita Jobs Meetup に登場します 来週7/3( 水) のQiita Jobs Meetup に登場します 来週7/3( 水) のQiita Jobs Meetup に登場します 来週7/3( 水) のQiita Jobs Meetup に登場します 抽選申込みはなんと今日まで! 抽選申込みはなんと今日まで! 抽選申込みはなんと今日まで! 抽選申込みはなんと今日まで! 抽選申込みはなんと今日まで! 抽選申込みはなんと今日まで! https://connpass.com/event/132350/ https://connpass.com/event/132350/ https://connpass.com/event/132350/ https://connpass.com/event/132350/ https://connpass.com/event/132350/ https://connpass.com/event/132350/ 20 / 20