4年間のテスト面接官、1日遅くまで起きていることによって生成された3000語のAPPテスト面接の質問

1.冒頭の質問:(フリープレイ)

1.自己紹介をお願いします;
2。なぜ最後の会社を辞めたのですか?
3.どのくらいテストしていますか?これまでにどのようなプロジェクトを行ったことがありますか?以前のテストプロセスはどのようなものでしたか?どのようなテストツールを使用しましたか?
4.ソフトウェアテストをチームで実行する必要があるのはなぜだと思いますか。また、テストの価値はどこにありますか。

2.技術的側面:

1.コード能力:

1.1。文字列を逆にして出力するには、お気に入りのプログラミング言語を使用してください。
参照回答:
(1)Python実装:
メソッド1、使用[::-1]:

s = 'python' 
print s[::-1]

メソッド2.reverse()メソッドを使用します。

l = list(s) 
l.reverse()
print ''.join(l)

(2)Javaの実装:
メソッド1。StringBufferを使用すると、トリックはまったくありません。

public String reverse(String s){
    return new StringBuffer(s).reverse().toString();
}

方法2、文字列関数の柔軟な使用:

public String reverse(String s){
    char[] letters=s.toCharArray();
    char temp;
    int len=letters.length;
    for(int i=len/2-1;i>=0;i--){
        temp=letters[i];
        letters[i]=letters[len-1-i];
        letters[len-1-i]=temp;
    }
    return new String(letters);
}

1.2.数十のAndroidアプリケーションマーケットチャネルパッケージについて、一般的な機能検証を実行し、アイデアを簡単に説明する方法は?

参照回答:特定のディレクトリの下にあるすべてのチャネルパッケージapkを自動的にトラバースしてから、ループすることができます:インストール-"ログイン-"**操作-"終了-アンインストール
 

2.アイデアをテストします。

2.1。登録モジュールなどのモジュールがある場合、テストをどのように設計および実行しますか?

参照回答:データ-「どこから来たのか(入口)-「どこに行くのか(出口)」-「データベース(データの正確さを確認してください)

2.2.前の会社が機能テストに合格した基準を教えてください。(無料プレイ)

2.3.アプリのテストプロセスでは、ウェブよりもどのテストポイントに注意を払う必要があると思いますか?または、アプリテストとWebテストの違いは何ですか?

参考回答:
1。「クリックしてさらに読み込む」というページング処理技術、重複データがあるかどうか、データ表示が完了しているかどうか、最後のページに到達した後も表示するデータがあるかどうか
。データ;
2。インターフェースがジャンプします3.
異常な状況が発生したときにプロンプ​​トが表示されるかどうか、ネットワークが切断されている場合など、設定されているデフォルトのページにジャンプするかどうかは、ネットワークが接続されていないことを示します、データの読み込みに失敗するか、このページにデータが表示されない場合、表示はわかりやすいプロンプト情報;
4.画像処理場所がプログラムクラッシュを起こしやすいかどうか、主に画像圧縮メカニズム;
5.に表示されるデータフォアグラウンドは、リアルタイムで更新されるか、アプリの実行開始時にバックグラウンドで変更(追加、削除、変更)されます。再度ロードします
。6。フロントデスクは、対応するデータがにあるかどうかを確認するリクエストをアクティブに送信します。バックエンドデータベースであり、データの関連性も含まれます(マーチャントのメンバーが注文し、注文レコードがデータベースに生成されると、ポイントレコードが生成されます。メンバー7.
携帯電話アプリネットワーク環境テストの要点:主に2G、3G、4G、wifiの3つのネットワーク環境用。8
。携帯電話アプリの互換性テスト:主にandroid Testの各システムバージョン用で、テスト用の画面解像度をテストします。

3.テスト技術:

3.1.使用するパケットキャプチャツールを教えてください。どのように使用されますか?

参考回答:たとえば、フィドラーは主にアプリのキャプチャに使用されます。まず、フィドラークライアントでさまざまな構成を行い、ポートを8888に設定してから、携帯電話のプロキシを設定してパケットをキャプチャします。主なものはサーバーです。また、着信パラメータ、発信パラメータを変更し、ネットワーク遅延をシミュレートし、さまざまなシナリオを構築することもできます。

3.2.アルファテストとベータテストとは何ですか?

アルファテスト:会社のサイトでの従業員主導のテスト;ベータテスト:顧客サイトでの顧客主導のテスト。

3.3.上位5つのスコアラーすべてにクエリを実行するSQLを記述してください。

mysql:

select * from 分数表 order by 分数 desc limit 5; 

オラクル:

select top 5 * from 分数表 order by 分数 desc; 

3.4. Linuxの一般的なコマンドは何ですか?

cdコマンド:ディレクトリに切り替え
ますlsコマンド:現在のディレクトリ内
のすべてのファイルとフォルダを一覧表示しますpwdコマンド:現在のディレクトリのパスを一覧表示します
cpコマンド:copy
mvコマンド:cut
grepコマンド:pipeline
findコマンド:find
rmコマンド:delete
psコマンド:プロセスを表示
killコマンド:プロセスを強制終了
catコマンド:ファイルを表示
tarコマンド:パッケージ
chmodコマンド:権限を付与
chownコマンド:ファイルの所有者を変更
vimコマンド:テキスト編集

3.5.Android携帯電話とIOS携帯電話システムの違いを教えてください。

1. 2つの操作メカニズムは異なります。IOSはサンドボックス操作メカニズムを使用し、Androidは仮想マシン操作メカニズムを使用します。
2. 2つのバックグラウンドシステムは異なります。IOSのサードパーティプログラムはバックグラウンドで実行できません。Androidのプログラムはバックグラウンドで実行でき、メモリがなくなるまで閉じられません。
3. IOSはUI命令に対して最高の権限を持ち、Androidはデータ処理命令に対して最高の権限を持っています。

3.6.Androidシステムの4層アーキテクチャを簡単に紹介してください。

上から順に、アプリケーション層-「アプリケーションフレームワーク層」-「システムランタイム層」-「Linuxコア層」の順序です。

3.7. Android SDKのいくつかのツール/コマンドの機能を簡単に紹介しますか?

参照回答:
ddms:Dalvik Debug Monitor Serviceは、Android開発環境でのDalvik[仮想マシン]デバッグ監視サービスです。
モンキー:エミュレーターまたは実際のデバイスで実行できるAndroidのコマンドラインツール。ユーザーイベント(キー入力、タッチスクリーン入力、ジェスチャ入力など)の疑似ランダムストリームをシステムに送信して、開発中のアプリケーションのストレステストを行います。
uiautomator:UIAutomatorは、Eclipseに付属するUI自動化テストツールであり、APPでのクリック、スライド、テキストの入力などの操作をシミュレートできます。
モニター:uiautomator
adbと同じ:ADBのフルネームはAndroid Debug Bridgeで、デバッグブリッジとして機能します。ADBを介して、デバッグツールであるEclipseのDDMSを介してAndroidプログラムをデバッグできます。

3.8.一般的に使用されるadbコマンドは何ですか?猿の台本を書いて、パラメータの意味を説明してください。

参照回答:
(1)、adbデバイス、adbインストール、adbアンインストール、adbシェルpm、adbシェルam

(2)、adb shell Monkey -p com.xiaoniu.finance -s 123 –throttle 500 –ignore-crashes –ignore-timeouts –ignore-security-exceptions -v -v -v 2000> d:\ xnonline-monkey-test1 。TXT

-p:アプリパッケージ名、
–throttle:各操作の間隔時間(ミリ秒)
–ignore-crashes:クラッシュを無視
–ignore-timeouts:タイムアウトを無視
–ignore-security-exceptions:セキュリティ例外を無視
-v -v -v:ログ詳細レベル、3 vは最も詳細なレベルのログを表します
d:\ xnonline-monkey-test1.txt:生成されるログを表し、ローカルPCのDドライブに配置し、xnonline-monkey-test1という名前を付けます。 TXT

3.9.テスト中にアプリがクラッシュしたり、ANRが発生したりした場合はどうしますか?

参照回答:最初にログをフィルターで除外できます:adb logcat | findstr xxxxx(ログ情報のフィルター)次に、例外、クラッシュなどのキーワードを検索して、問題が送信された原因となったメソッドまたは例外を確認します、および予備的な配置問題の原因が見つかったら、開発者に渡して根本的な原因を見つけて修正することができます。

3.10.過去の仕事でどのような仕事をしたか教えてください。仕事のどの部分が得意ですか(機能、自動化(UIとインターフェース)、パフォーマンス)?この部分はどのように行いましたか?(無料プレイ)

3.11.いくつかの便利なAndroidUI自動化テストツールを簡単に紹介してください。

参照回答:
appium:これは、ネイティブアプリケーション、モバイルWebアプリケーション、およびハイブリッドアプリケーションのテストに使用できるモバイル自動化フレームワークであり、クロスプラットフォームです。
robotium:これは主にAndroidプラットフォーム上のアプリケーションのブラックボックス自動化テスト用の外国のAndroid自動化テストフレームワークです。さまざまなジェスチャー操作(クリック、長押し、スライドなど)、検索およびアサーションメカニズムをシミュレートするAPIを提供します。さまざまなコントロールを操作できます。

3.12.アプリのパフォーマンステスト、つまり特別なテストでは、どのような側面に焦点を当てるべきだと思いますか?

参照回答:メモリ、CPU使用率、消費電力、トラフィック、流暢さなど。

4.技術的な熱意:(個人的な可能性を調べ、自由に遊ぶ)

4.1。なぜテストを選択したのですか?
4.2.理想的なテストプロセスはどのように見えると思いますか?
4.3.ソフトウェアテストスキルをどのように向上させることができると思いますか?
4.4.ソフトウェアテストのキャリア開発と個人的な将来の計画について話しますか?

3.テクノロジーを超えて:(ソフトパワーを検査し、自由にプレイする)

1.コミュニケーションスキル;
2。チームワーク;
3。実行;
4。仲良くするのが簡単;

終わり


最後に、私の記事を注意深く読んでくださった皆様に感謝申し上げます。ファンの注目を集める中、常に礼儀正しい交流が必要です。あまり価値のあるものではありませんが、ご利用いただければ幸いです。あなたはそれを直接取ることができます。

これらの資料は、[ソフトウェアテスト]を行う友人にとって最も包括的で完全な準備倉庫である必要があります。この倉庫は、最も困難な旅にも同行しました。これもお役に立てば幸いです。特にテクノロジー業界では、すべてをできるだけ早く行う必要があり、技術基盤を改善する必要があります。お役に立てば幸いです……。

おすすめ

転載: blog.csdn.net/jiangjunsss/article/details/124212920