2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

HGTS #1

Last updated at Posted at 2013-03-26

基本

  • 開発&リリースが早すぎなので、継続的なメンテナンスや、テストを前もって計画するのが不可能

  • テストは開発の負担になるべきではない。テストは開発を遅らせるべきではない。

  • テスターの人数は少ない。テスターを増やすな。

  • ソフトウェアのクオリティはテスターの責任じゃない。すべてのエンジニアはテスター。

  • テストはソフトウェアのクオリティを上げる手段ではない。

  • クオリティを上げるなら、少しコーディングしたらテストする。コーディングはテストと同時に進行すべき。これでクオリティが保障される。

  • クオリティを上げるにはバグを発見する手段を探すではなく、バグを回避する手段を探すだ。

余談:Testing on the Toilet
http://www.flickr.com/photos/dullhunk/1019220380/sizes/l/in/photostream/
http://commondatastorage.googleapis.com/gtb/TotT-2008-08-14.pdf?hl=ja (100回目)
http://commondatastorage.googleapis.com/gtb/TotT-2013-03-20-state-vs-interactions-public.pdf (最新号)

roles

The Software Engineer (SWE)

  • プロダクトのフィーチャーを書く
  • 自分が作ったフィーチャーのユニットテストも書く

The Software Engineer in Test (SET)

  • テスト自動化等のコードを書く
  • リファクタリングのこともする
  • SWEのテストに役に立つコード、テストフィーチャーを書く

The Test Engineer (TE)

  • コードを書く人がいれば、書かない人もいる
  • テスト自動化のコードを書く
  • SWEとSETのつながりな存在
  • ユーザの立場でソフトウェアのクオリティを見る、意見を出す

組織構成の話

  • テスターはデベロッパーと同じプロダクトチームに配属される
  • SWEはFA(Focus Area)単位でプロダクトマネージャーに報告する
  • SETとTEはそういう人に報告しなく、Engineering Productivityのリーダーに報告する(配属もその人が優先度と必要性によって調整する)
  • SETとTEを移動させる。アイディアを全社内で流通させる。

製品の話

  • 最低限有用なプロダクトを最初バージョンとして作る
  • 非常に小さいフィーチャーを少しづつリリースする
  • 必ずdevチャンネルを経由させる(プロダクトの価値を証明するため)

テストの分類

small, medium, large だけ
しかしこういう命名は重要じゃない。重要なのは全員がテストの規模に対する認識が一致していること

small

  • 自動テストが多い
  • 機能面、データ破壊、エラーの条件、off-by-oneミス(境界ミス)等のテスト
  • SWEが書く
  • モック・fake環境を使う

medium

  • 自動テストが多い
  • 復数の(連動している)機能(nearest neighbor functions)のテストが多い
  • SETが機能開発の前期からこういうテストを計画し、なんじゃらのテストコードを入れる
  • 開発の後期にはTEが手動か自動でこういう中規模のテストを実行する

large

  • 3つをそれ以上の機能をユーザ視点でテストする
  • 経過より結果のほうを重視する
  • コーディングはSWE, SET, TEが全員参加
  • モックは使わない

手動か、自動か

  • 人間が関与しなくていいテストは、自動化
  • UIとか人間の目で見て確認する必要があるものなら、手動で
    ** グーグルにも手動テストをたくさんやってる
2
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?