//これは今何よりもTODOリストのようなものです
イントロ
テキスト入力
その他の入力(チェックボックス、スイッチ、相互に排他的なコントロール)
エラー管理(例外、クラッシュ、アラート、エラーの表示)
ナビゲーション(プッシュ、ポップ、タブ、モーダル、画面回転)
背景(保存された状態、スプリングボードカード)
接続性(WiFi、スローエッジ、2G、3G、4G、断続、ゼロバイト、オフライン、プレーンモード)およびハードウェア接続(USB、NFC、Bluetooth、WiFi)
ローカリゼーション(テキストと画像の、電話言語のさまざまな設定対アプリ言語vs現在の領域)
中断(通話の拒否、SMSの送信/受信、パワーサイクル、再起動、通知、アラート、低メモリ、ホーム画面、スイッチングアプリ、プレーンモード、ストレージの送信/受信:ストレージ)は、アプリがそれ自体を停止し、正しい画面で一時停止し、正しい状態でバックグラウンドに入ったり、いかなる平均的にも中断したりすることを意味します。通知からアプリに応答します。
ストレージ(すべてが適切に保管されており、リスクなしに、適切な場所にあります)
セキュリティ(アプリケーションは支払い情報またはクレジットカードの詳細を保存していますか?アプリケーションはセキュアネットワークプロトコルを使用しますか?安全でないものに切り替えることはできますか?アプリケーションは必要以上のアクセス許可を求めますか?あなたのアプリケーションはデバイスIDを使用しますか?アプリケーションの実行違反アプリケーションのセキュリティとエラーの報告認証アプリケーション証明書と権限自動アプリケーションロックアウトは、継続的に無効に入力します)
アクセシビリティ(ソフトウェアボタン、ズーム、フォントサイズ、テキストからスピーチ、...)
パフォーマンス(バッテリーの使用、CPUの使用量、メモリの使用(およびリーク)、ストレージ(ディスクvsカード)管理、応答性、画面サイズ、起動時刻、起動画面上の時間、重い負荷画面 / Yous spread roads、continuous key press)は、すてきなプロンプトとクリアな反応を順調に扱う必要があります。
バックグラウンドワーク(UIをブロックしないようにメインスレッドの外で作業を行うが、アプリが「アイドル状態」またはバックグラウンドで、バッテリー/データ/などを排出する場合、大規模な作業もありません)
統合(カメラ、GPS、Bluetoothはアプリで正常に動作します)
後方互換性、ハードウェア互換性:可能であれば、すべてのデバイスのすべてのバージョンを確認します。アプリはインストール可能で完全に使用可能である必要があります(そのデバイスで機能が利用できない場合)
画像:すべてのデバイスとオリエンテーションの正しいサイズと重量。伸ばされておらず、ピクセル化されていない、HDすぎるなど。
ソーシャル:セキュリティとプライバシーポリシーが利用可能で、ユーザーはログアウトまたはオプトアウトできます。ユーザーは、権利を与えたとき、および前述のこと(投稿/共有/いいね)が発生したときに起こる可能性/発生が促されます。
広告(必要に応じて表示/非表示、適切なコンテンツを表示)
タイムゾーン:リモートコール/時間vs電話時間vs現在の領域時間=>とにかくどこでもUTCを使用して、ビュー内の現地時間に変換
ストア:アプリは、必要/必要な店舗(iOS AppStore、Playstore、Android Marketなど)でのみ表示され、互換性のあるデバイスでのみ表示されます。タブレットアプリは、スマートフォンストアに表示されないでください。ストアページは、バージョンの更新、説明、名前/番号、リリース前に通知されたテスターとともに最新です。
プレリリースチェック /プリストアチェック(ストアレビューが合格するように)
アプリアイコンは、必要なすべての形式で利用できます。ストアアイコンが利用可能です。すべてのアプリ画像は、すべての形式(1x、2x、3xなど)で利用できます。
OS互換性、CrossPlatformの互換性(iOS / Android / Windows Phoneで機能するのはどうすればよいですか?)
バージョンの互換性:iOS 9、10、11、12で機能しますか?ターゲットとサポートするはずのすべてのバージョンをテストします
すべてのバージョンのすべてのデバイスで動作しますか? :iPhone、iPad、iPhone X、iPhone#S、およびAndroid(Omegalul)
オリエンテーション(すべてのオリエンテーションでのエラーメッセージ、ビデオ、スプラッシュスクリーン、ナビゲーション、通常の画面、すべてのデバイスサイズでの通常の画面))
サウンド(背景に行くときに停止しますか?続けますか?通知が表示されますか?コントロールセンター /リモートプレーヤーで制御可能です)
通知(リッチな場合は送信されますか?ディープリンクはありますか?バッジを変更しますか?バッジは、アプリが読み取られたときに自体を更新しますか?
ジェスチャー
//忘れたくないものの実際のTODOリスト
これは何ですか?これは、アプリを完全に完全にテストすることです。このリストには、テストする必要のある要素ができるだけ多くの要素が含まれます。あなたがおそらくすでにテストしている多くのもの、あなたが考えていないかもしれないものもあります。これは、すべてのボックスをチェックし、実際にX&Yをテストしたという事実を検証することですが、Zを無視することも決定しました。チェックリストの要素の多くは適用されない可能性があります。また、何らかの理由でテストの一部をスキップしたいだけかもしれませんが、それは問題ありません。それはあなた次第であり、それを見つけて決定します。あなたが決定を下した限り、それはあなたがリストを読んで、テストの(そうではない)価格と結果を受け入れ、行き来することを意味します!
プロジェクトについて考えると、おそらく目隠しがあります。プログラマーまたはオーナーのブラインダーは最悪です。なぜなら、アプリが何をすべきかを知っているので、必然的にそれらの境界内でテストするからです。ユーザーは、自分が思っていた方法ではアプリではなく使用する場合があり、これはUXの問題になります。私たちは、テスト、アプリがオフラインで動作することを確認したり、バッテリーが低いことを確認したり、実際に必要なアクセス権を拒否されたりした場合にのみです。一部のユーザーは、これらすべての週のテスト中に当たり前と思っていたことを行うかもしれません。これは主に「箱の外で考える」こと、または私がそれを呼んでいることについてです。テスターとして可能な限り最高の仕事をすることです。
これが私が意味することを示すかなり有名なツイートです。
QAエンジニアはバーに入ります。ビールを注文します。注文0ビール。注文99999999ビール。トカゲを注文します。注文-1ビール。 sfdeljknesvを注文します。
- Bill Sempf(@sempf)2014年9月23日
それは面白いです(または、少なくとも私はそれがそうだと思うのが好きです)そしてそれは本当です。この簡単な例は、アプリをチェックインする多くのことを示しています。
リスト全体が非常に圧倒的に見え、それは正常です。可能な限り完全にしたいです。先ほど言ったように、ポイントはあなたに多くの可能性を知らせることです。要素が特定のケースをテストする価値があるかどうかを判断するのはあなた次第です。あなたが決定を下し、それを認識している限り、それがあなたの決定であるか、そうではないのか。それがこのリストのポイントです。
あなたがそれを使用する限り、あなたが出荷するソフトウェアの品質を向上させるので、あなたはあなたが好きなようにこのリストを使用することができます。そのリストを使用するという事実は、そのリストの使用方法よりもはるかに重要です。徹底的かつ定期的なウォークスルー、プレリリースのチェックリスト、または寝る前に簡単に読むのと同じくらい簡単です。あなたがそれを読んでそこにあることを知っている限り、それはどういうわけか便利です。
迅速ではあるが非常に重要な注意として、このテストの多くは、古典的な単体テストとUIテストを使用して行うことができることを忘れないでください。それは、テストする重要な要素の大部分をすでにカバーするはずです。残りは、必要に応じて手動でテストできます。つまり、テストスイートを作成し、アプリのさまざまな場所で使用して、長期的な安定性を確保することができます。これをすべて手動でテストすることは悪夢です。ユニットテストまたはUIテストの書き方がわからない場合は、調べてください。そこで学ぶべきことはたくさんあります。それはあなたに膨大な時間、お金を節約し、手動テストが試練を避けることを避けます。
私は主にこれを単独で書いていますが、私が得た唯一のヘルプ/インスピレーションは、さまざまな科目のインターネット(次の章、IDを参照)を閲覧することでした。悲しいことに、私は自分の知識と経験によって制限されています。つまり、あなた、あなた、読者の多くの経験を持っている分野では確かに多くのコンテンツが欠けていることを意味します。そこでGithubが登場します。プルリクエストを自由に要求したり、コンテンツを変更したり、独自に追加したりできます。おそらくコミュニティの助けを借りて、私の知る限り、それをレビューして検証します。セキュリティ、暗号化、ネットワーキングなど、それらは私が最も不足している領域です。私が平均的なジョーであることを考えると、それはおそらくほとんどの人がスキルを欠いている場所であり、あなたのアプリも最も脆弱/不足している場所です。これは、それらがトリプルチェックされなければならない領域(あなたが弱い領域)であることを意味し、あなたは間違いなくそれに特に注意を払うべきです!
貢献 /言う他の方法は次のとおりです。
結局のところ、私はしばらくの間あなたを救うために多くの時間を費やしています、それは上記の価値があるに違いありません:D
そして最後に、マイケル・ハンターの素晴らしいチェックリストに感謝したいと思います。これにより、モバイル開発(iOS、Android、Windows Phone)を中心に自分のチェックリストを開始するようになりました。それは多くの時間と労力がそのバージョンのリストに入れられたように見えますが、これは最初のバージョンでさえないことがわかっています。それは素晴らしい仕事であり、あなたが携帯の外にいるなら、私はあなたがそれをチェックすることを強くお勧めします。私の唯一の希望は、いつか、同様の品質のチェックリストを達成することです。そこから、私はインターネット上で複数のチェックリストを見つけましたが、それらのほとんどは非常に不完全ですが、際立っていたのはDavid Diasのフロントエンドチェックリストです。彼もチェックしてください、それは広がる価値のある仕事です!
テキスト入力には、多くのフレーバー、サイズ、ユースケースがあります。明らかに、別のフィールドを扱うのと同じ方法でpasswordフィールドを扱うことはなく、さまざまな目的を持つ多くのフィールドがあります。このリストは、それらすべて、または少なくともそれらのほとんどをカバーする必要があります。入力のテストは、複数の側面を通じて行われます。テキストフィールドがあらゆる種類のストレスと入力を処理し、もしあればフォーマットが適切に機能することを、ロジックとUIで検証が機能することを確認する必要があります。それらすべてが一緒になって、最終的にあなたに作業テキストフィールドを提供する必要があります。
テキスト入力を検証するとき、以下のすべての入力と状況を扱っていない場合、まだ完了していません。これらは、他のほとんどの入力タイプ(パスワード、電子メール、番号など)にも適用されることに注意してください。あらゆる種類の文字列入力を扱っている場合は、次のリストと関連するリストを検討してください。
aBCd 1234 #@ !? ;) $= § :grinning:または:-)または?またはU+1F60A 123 t 、 " 、... string.Empty null以下の方法でデータを入力しようとしていない場合、まだ完了していません。
そして、それはあなたのアプリの1つの画面に1つのテキスト入力に対してのみです。アプリ全体で、各テキスト入力フィールドを徹底的に検証する必要があります。そして、これは、入力間に空間を自動的に追加したり、一部の文字を色付けしたり、大文字に変更したりするように、入力のフォーマットについても言及していません。
すべての番号入力を徹底的にテストしていない場合、まだ完了していません
0 13.37または13,37 (ロケールに応じてセパレーターに注意してください!) -1337 10^20 "124" 12.23対12,23 10.234,96対10,234.96 13.37 € vs € 13.37 13.3389の代わりに13.34 13.00または13 、または他の何かが完全に? 4000入力できますが、 3999.99できませんか、それとも4000.56入力できますか? 12345 0,12345または,12345または他の何かになりますか? 0,12に再フォーマットされていますか? -1000外234940 -1 、 0 ) すべてのメール入力を徹底的にテストしていない場合、まだ完了していません
@文字がありません@文字.キャラクター. 、 - 、 _など) ù 、 àなどまだ完了していません
あなたが持っていないなら、あなたはまだ終わっていません
まだ完了していません
まだ完了していません
まだ完了していません
入力は常にフォームのテキストではありません。人々が...入力を与えることができる他の方法があります。したがって、物を忘れる他の方法があります!
まだ完了していません
まだ完了していません
まだ完了していません
まだ完了していません
エラー管理は、健康なアプリの柱です。それはあなたが問題のダウン(他のツールも役立つ)を追跡するのに役立ち、したがってバグを修正します。しかし、あなたはそれがあなたのユーザーにとってあなたのアプリの彼らの経験にとって障害になることを望んでいません。優れたUX、バグトラッキング、およびユーザーに問題が発生していることを達成するためのバランスが刻まれています。
まだ完了していません
まだ完了していません
まだ完了していません
まだ完了していません