Upload
naoki-umehara
View
2.387
Download
0
Embed Size (px)
DESCRIPTION
2013/3/25に行われた「チキチキ第一回iOSテスト勉強会」の資料です。 いくつか省略していますがご了承ください。
Citation preview
2013/3/18
ぼくのかんがえたiOSテスト戦略
梅原 直樹うめはら なおき
Twitter:@numehahttp://numeha.hatenablog.com/
職業:ソフトウェア・エンジニア
•Leader 50% 愛されるチームリーダを目指して
•Developer 20% Ruby Java Objective-C
•Test Engineer 20% Jenkins RSpec Junit GHUnit
•雑用 10% (あれやこれや)
iOS歴 : 8ヶ月まだ素人です
⚠当日は自分が携わった
製品のムービーを流しました
ぼくのかんがえたiOSテスト戦略
テストを制するものは
ソフトウェアを制す
by @numeha
えっ!
えっ!えっ!!
未だに
http://caiomm.deviantart.com/art/Super-Excel-170213919
とか...
http://www.flickr.com/photos/nyuhuhuu/4442144329/
なぜテストをするのか
バグ発見?
開発を促進?
品質向上?
リファクタリング?
テストは奥が深い...
お客様に自信を持ってリリースしたい
Small Tests (単体テスト)
最小単位のモジュール内テスト
Medium Tests (結合テスト)
二つ以上のモジュールを組み合わせたテスト
Large Tests (受け入れ/End-to-Endテスト)
ユーザが利用する単位の一番外側のテスト
テスト対象
Small Tests (単体テスト)
自分のコードに自信を持てる
Medium Tests (結合テスト)
相手のモジュールとの結合に自信を持てる
Large Tests (受け入れ/End-to-Endテスト)
リリースに自信を持てる
テスト対象と自信
Small Tests (単体テスト)
自分のコードに自信を持てる
Medium Tests (結合テスト)
相手のモジュールとの結合に自信を持てる
Large Tests (受け入れ/End-to-Endテスト)
リリースに自信を持てる
テスト対象と自信
- テスト戦略 -
一番外側を重視せよ
内部品質
外部品質
small
medium
large
- テスト戦略 -
外部品質>内部品質
1. 開発とテストを融合する
SoftwareEngineer
QualityEngineer
ぼくのかんがえたiOSテスト戦略
iOS Simulator Limitation⚠
シミュレータでは動くけど、実機だとxxx
コードを書いてから如何に
運用環境で
実機を使った受け入れテストを早く
実行できるかが勝負
Always run on real devices
継続的デリバリー
IterativeDevelopment
ContinuousIntegration
ContinuousDeploy
Continuous Delivery of Business Value
サイクルタイムを最小にコードの変更からリリースするまでどのくらいかかりますか
Code
ReleaseBuild
Small Tests
Medium Tests
AcceptanceBuild
Runon Device
LargeTests
ikachan
pushpull code
push test results
request message(test results)
notify
Developer
徹底的な自動化
が、貧弱なテスティング・フレームワーク
が多い(特にUnit Test系)
なので自分は重視していない
•Easy maintenance
•Ruby
•Describe behavior of users
•Run on real devices (operate multi devices)
Why Frank?
Test Server
端末ごとに異なる命令を出したい
⚠当日はFrankを利用した
受け入れテストムービーを流しました
Feature &
Scenario
⚠省略
Stepの部品化素人でもかけるテストを目指して
⚠省略
要求
設計 (仕様)
実装 (&開発者テスト)
テスト (受け入れテスト)
受け入れテストは実装と共に安定化・高速化される
受け入れテストは
お客様に提供する価値をベースに常に見直されていく
受け入れテスト仕様から
詳細設計・実装を小さい単位で始める
製品A 製品B自分が携わった
製品
開発期間
人数
Feature
受け入れテスト障害
遅れ
約2年 1年 5ヶ月
約30名 約15名 約10名
約70 約50 20
約60件 約200件 5件
1ヶ月 3ヶ月 なし
⚠値は参考値です
実機を使った自動化テストでリリースに自信をもてる
2013/3/18
ぼくのかんがえたiOSテスト戦略
ご清聴ありがとうございました