モバイルアプリのペーパープロトタイピング

ペーパープロトタイピングのメリット・デメリット

・メリット:簡単に作れる、修正しやすい、完成してない感
・デメリット:動きのあるものは表現しづらい、知らないひとには伝わりづらい

アウトプットの質は、インプットの質と量による

・作りたいジャンルのアプリは上位10位までは試す。
・Dribbble、Pinterest、などでインスピレーションを得る。
・Mobile UI Patternsで検索。
・自分の紙のアプリ手帳をつくる。

要点

・素早く試す。失敗するなら早いうち
・本当に大切な2、3の機能にしぼる
・こりすぎない、作り込みすぎない
・完璧を目指さない、失敗を受け入れる。
・実際の環境で検討。歩きながら、立って、車の中で。
・客観的に見る、時間をおいてみる。白黒で見てみる、逆さまにみてみる。
・素晴らしい試作も、本物ではない

その他

・UI templateで検索すると用紙がいろいろ
・UIステンシル アイコンがかける定規
・POP Prototype On Paper 紙で書いたものをPCに取り込み、リンク設定などできる

アジャイル開発について

アジャイル開発とは

分析・設計・実装・テストを短いサイクルで繰り返す

なぜアジャイル

・ユーザーからのフィードバックを得る
・手戻りがあっても手遅れにならない
・顧客が欲しいものを探しながら開発できる

利点

・リスクを初期にさげる
・可視性を高く保つ
・変化コストを一定に保つ

進め方の例

・なぜ、なんのために作るのか?顧客と開発者で事業の目的を共有する。
・顧客の「こうしてほしい」をそのまま受けるのではなく、どういう問題があるのかを聞く。
・3ヶ月でローンチ可能なものを作る。
・毎週つくって進める、毎週確認してもらう。次週作るものを決める。

テストの視点

正しいプログラム?仕様にあってる?ビジネスとして成り立ってる?

ソフトやWebサービスの品質

完成が目的ではなく、継続性・保守性を保っていくことが目的。利用する時点が最高品質。

アジャイル開発の姿勢

・当事者意識 問題から解決手段を提案する。
・保守性を重視する Don't Repeat Yourself(コピペは不具合も繰り返す)
・単位を小さくする 作業単位を小さくする。優先順位。まめな報告。
・必要以上に作らない
・守備範囲を広げる 小さなチームで。

検証テストメモ

探索的テスト

テスト箇所を限定してモンキーオペレーションし、その結果を踏まえて再テスト。テストする者の経験と技量が必要。

「バグは群れる」

境界値付近に多い。

モンキー

手法のひとつとして、ユーザーのペルソナを設定するものもある。

ECサイト、オンラインショッピング関連

検証テスト概要

テストフェーズ例

V字モデル(ウォーターフォール型)
1.要件定義
2.基本設計
3.詳細設計
4.プログラム設計
5.コーディング
6.単体テスト(4.プログラム設計のテスト)
7.結合テスト(3.詳細設計のテスト)
8.総合テスト(2.基本設計のテスト)
9.運用テスト(1.要件定義のテスト)

テスト内容の種類

  • 機能テスト
  • 負荷テスト
  • 操作性テスト
  • セキュリティテスト
  • 性能テスト ブラウザ表示の3秒ルールなど
  • 信頼性テスト 24時間365日稼働できているか
  • 互換性(構成)テスト バージョン、ブラウザ
  • ドキュメントテスト
  • スケーラビリティテスト 拡張性
  • ストレステスト

テストの実施目的の種類

  • 受け入れテスト 発注者側が実施する
  • 回帰テスト バグ修正後に、他の部分に影響をチェック
  • アルファ/ベータテスト 正式リリース版へのフィードバック
  • アドホックテスト(モンキーオペレーション) ユーザー視点で操作

テスト方法(ホワイトボックステスト

内部仕様(プログラムソース)を見るテスト

  • 制御パステスト プログラムの経路を網羅
  • データフローテスト データの流れを追うテスト 入力した金額とか
  • 状態遷移テスト イベントごとに状態を確認する

テスト方法(ブラックボックステスト

外部仕様(仕様書など)との整合性を見るテスト

  • 同値分割法 OKの値とNGの値の代表的なものだけ試す
  • 境界値分析 境界値と前後の値を試す(1<データ<100の場合、0,1,2,99,100,101)
  • デシジョンテーブル 複数入力による動作のテスト表
  • 直交法 合理的にテスト項目を簡略化

Webサービスの用語メモ

サーバーソフトウェア

クラウドのサービスの種類

スマートフォンアプリ

  • Webアプリ ブラウザ上のアプリケーション
  • Nativeアプリ 電話帳など通信しないもの
  • Hybridアプリ メニューはNative、中身ブラウザ

Android開発のデバッガDDMS(Dalvik Debug Monitor Service)