内容:ガイド
序文
APP テストの重要なポイントはどこですか?
APP テストの鍵は、あなたが面接に行く企業の主な事業がアプリ テストである場合、その企業は間違いなく質問するでしょう。「APP テストはどのように行うのですか?」
続いてアプリテストの要点から分析していきます。
アプリテストの重要なポイントについて考えていただけますか?
すぐに思い浮かぶ専門的なテスト手法はたくさんあると思いますが、まずはアプリの機能です。まず、すべての機能をテストする必要がありますが、これは Web テストや他のテストと大きな違いはなく、いくつかの機能をテストすることです。
たとえば、淘宝網(タオバオ)、京東商城(JD.com)では、ショッピングカートに追加して注文するなどの一連の機能テストを行います。
また、アプリ固有のテストをいくつか実行する必要があります。これには多くのものが含まれます。
もちろん、アプリの自動テストもあります。これらの主要な側面からアプリのテストを行うことを検討します。
機能テスト
機能テストの詳細については説明しません。多くのパートナーは機能テストのテスト方法を知っています。要件ドキュメントに従ってこの機能をテストしても問題ありません。
特殊試験
特別なテストには、いくつかのアプリの起動、誰もが毎日携帯電話でいくつかのアプリを開く、コールド スタートアップなどのいくつかのアプリの起動、アプリのホームページを開いて、さまざまなページの読み込み時間、このページの読み込み時間はユーザー エクスペリエンスです。
数秒以上の長時間ページを開いていると必ずユーザーからクレームが来るので良くないと思いますし、非常に使い心地が悪いです。
コールド スタート、ページの読み込み時間など、いくつかの弱いネットワーク テストに合格できます。たとえば、地下鉄、地下駐車場、エレベーターにいる場合、読み込み時間はニーズを満たしていますか。
もちろん、いつも使っているアプリの実行ログ分析もありますが、このログはどこで分析できるのでしょうか?多くのパートナーは、私たちのアプリが adb コマンドを通じて実行され、ログを取得することを理解しているかもしれません。
一般に、パケット キャプチャを使用できます。アプリ テストのパケット キャプチャは、どのインターフェイスがリクエストされているか、そのログの一部やデータの一部などのログを取得するための非常に重要な手段です。
実際、実際にアプリのテストを行ったことがある場合は、アプリのエラー ログを直接取得できるサードパーティ プラットフォーム (Youmeng、Jiguang など) があることを知っているはずです。
もちろん、このプラットフォームに限らず、自分で検索して学ぶこともできます。これらのプラットフォームを知らない場合は、面接中に質問すると、経験が少ないことがわかります。
アプリはアプリケーション マーケットでリリースされます。たとえば、oppo、Huawei、Xiaomi アプリケーション マーケットのリリース後、特定のユーザーがこのアプリをクリックしてエラーを報告すると、このプラットフォームを使用してそのエラー ログ (例: どのユーザーがクラッシュしたか) これは、人々が普段注意を払わないいくつかの点かもしれませんが、実際には非常に重要です。
安定性試験
もう 1 つ、安定性テストがあります。エラー レポートはパケット キャプチャと一部のサードパーティ プラットフォームを通じてのみ取得できます。アプリが安定して実行され、ユーザー エクスペリエンスが非常に優れていることが必要です。
あなたが最もよく知っているアプリの安定性テストは Mokey です。Mokey は実際にはストレス テストのようなものだと思います。これは、Mokey を使用してランダムなクリック イベントを実行し、猿のようにランダムな高速でアプリをクリックし、観察することです。メモリオーバーフローやフラッシュバックなどの一連の現象は報告されますか?
自動テスト
自動テスト。どのような種類のテストを行う場合でも、自動化がキーワードになります。自動化をどのように行うか?
私たちがよく知っており、企業でアプリ自動化テストに一般的に使用されているフレームワークは何ですか?
誰もが最もよく知っているフレームワーク - Appium、
もちろん他にも airtest や、
国内の NetEase や Alibaba がオープンソース化したいくつかのフレームワーク - macaca、uiauTomator、
自動化をサポートする他の多くのフレームワークなどがあります。
アピウム、エアテスト、マカカ、ウイオートメーター、rf…
次に、これは現在主流のサードパーティのエンタープライズ向けオープンソース自動テスト フレームワークです。私はこれらのフレームワークを使用してアプリの自動化を行います。これらのアプリのテストが完了した後も、特別な項目や機能による自動化の背後には互換性がまだあります。
アプリの互換性: 携帯電話のモデル、Android バージョン、解像度
携帯電話のモデルやシステムだけでなく、携帯電話の画面解像度の違いなど、現在では多くのブランドの携帯電話があり、特定のブランドでのみ再現できるバグもあります。携帯電話の特定のモデル、この時点で何をすべきですか? 面接官に伝える必要があるのは、これらの問題を解決するための計画とアイデアです。
上記のテストに合格した後、通常、社内で経験豊富なソフトウェア テスト エンジニアまたは中級および上級テスターの場合、この種のアプリのパッケージ化とリリースは当社のテスターが行う必要があります。なぜなら、開発と同様にテスターはコードをパックするだけだからです (いくつかの経験と解決策、その方法をお話しますが、それぞれについて全員が慎重に考える必要があります)
次に、通常は Jenkins を使用して自動パッケージ化を構築し、Jenkins タスクを通じて IOS と Android をリリース用のアプリケーションに直接パッケージ化します。これは、この種のリリースは主に Web 側 (特定のバックエンド サービス、ビルドなど) で行われるためです。 Jenkins を通じてアプリを自動的にパッケージ化して、Jenkins を通じて生成して APK を生成できます。
たとえば、テスト環境をパッケージ化したい場合、開発に協力を求める必要はありません。現在は人が増えています。新しいバージョンをテストする必要がある場合は、特定の開発者に伝えます。開発は完了しました。パッケージを作成するのを手伝ってください。このようなもののために開発を見つける必要はありません。
以下は、私がまとめた 2023 年の最も完全なソフトウェア テスト エンジニア学習知識アーキテクチャ システム図です。 |
1. Pythonプログラミングの入門から習得まで
2.インターフェース自動化プロジェクトの実戦
3. Web自動化プロジェクトの実戦
4. アプリ自動化プロジェクトの実戦
5. 一流メーカーの再開
6. DevOps システムのテストと開発
7. 一般的に使用される自動テストツール
8、JMeterのパフォーマンステスト
9. まとめ(最後にちょっとしたサプライズ)
挑戦や困難を積極的に受け入れ、闘いは成長の火です。忍耐と勇気、努力だけが輝きを生み出すことができます。自分を信じ、闘いに耐え、自分だけの輝かしい航海に向かって進もう!浮き沈みを恐れず、未来に挑戦し、闘いの中で人生の輝かしい一章を咲かせましょう!
夢を心に抱き、希望の炎を灯し、奮闘することが偉大さへの鍵です。勇敢に混乱を打ち破り、探究し続けることで、初めて自分自身の輝きを開花させることができます。自分を信じ、情熱を追い求め、自分だけの不滅の伝説を作りましょう!
粘り強い追求、地に足の着いた努力が夢を実現する架け橋となります。粘り強く磨きをかけて課題に立ち向かい、ハードワークのみが並外れたものを生み出すことができます。困難を恐れず、自分を信じて旅に出れば、やがて自分自身の輝かしい道が開けるでしょう!勇敢に前進し、努力して、輝かしい青春を手に入れてください。