テストライフ | 月給 5,000 から年収 30 W まで、学歴以外の資格を両方とも取得した彼女は、何が正解だったのでしょうか?

卒業後は長い間、香港の会社でテスターとして働いていましたが、996もkpiも出ず、とてものんびりとした仕事でした。でも給料は月5万しかありません。香港企業のプロジェクトは香港のプロジェクトであり、非常に安定しています。プロジェクトは3年以上かかることも多く、それぞれの要件がフレームワークのアップグレードであったり、機能の変更が大きくなかったりするので、毎日少しずつやるだけで対応できそうです。寝ながら作業するのにとても向いている仕事です。しかし、これは表面的なものにすぎません。このような非インターネット企業では、入社したときに給与が最高額であることに気づくでしょう。地元の人々に囲まれています。住宅ローンや車のローンのプレッシャーはありませんが、現実 通常の状況では、技術レベルを向上させなければ、業界から簡単に見放されてしまうことがよくあります。

何も考えずに人々は心配しなければならない

このような非常に不安で低賃金の労働条件の下で、私は入り口を探していました。周りの多くのクラスメートに将来の計画やどのように改善したかを尋ねました。残念なことに、学生たちは全員専門職ではないため、テストジョブの開発傾向がどのようなものであるかはわかりませんし、それ以上のアドバイスもできません。

私は外に出て履歴書を提出して、外部の市場が答えをくれるかどうかを確認するようにしています。面接の機会もあり、言語習得レベル、自動化パフォーマンスの具体的な実務経験、継続的インテグレーションの実装方法などについて聞かれました。業務中に学んだことはありましたが、実務経験はあまりありませんでした。 。

日々不安が大きくなり、色々な方法で情報を探し始めます。Baidu でテストと学習を検索すると、多くのトレーニング機関が現れました。その間、他の多くの機関も見て、多くの公開講座も聞きました。最終的に CTI Education を選んだのは、前回の面接でシステムに関する知識がたまたまあったからです。コース詳細ディレクトリの下に、適切に一致するテスト スキルがあります。素早く学習できる Python の最も基本的な基礎、人気のあるインターフェイス自動化フレームワークである httprunner、UI 用の appium のアプリ自動化テスト、プラットフォーム開発などを利用すると、突然救世主が現れたように感じます。

あらゆる面で個人の能力を向上させる

CTI Educationは、生放送・録画+放課後の宿題+放課後のQ&A+就職指導というプロセスで、長期的に有効なコースリソースと考えられます。基本的なコースカタログを読んでいるだけでなく、学習システム全体がどのように行われているかを深く理解しているので、私のような会社員にとっては、生放送を見逃しても心配する必要はありません。

放課後の宿題や質疑応答も長時間回答されており、子供の頃に宿題をするときに誰かが解説を添削して監修してくれたような気分になり、実際非常に効率が良いです。

学習後、私も習得したスキルを以下のように整理しました。

ここに画像の説明を挿入
直前にはテスト左シフトとは何なのかわかりませんでしたが、コースを学習した後は、テスト左シフトの考え方が理解できるようになります。本質は、すべてが始まる前にテストすることです。テストオブジェクトは要求であり、早くテストする必要があります。要求が不合理であることがわかります。問題が発生する可能性は低くなります。

テストは右側に移動しますが、これは基本的にリリース後に移動することになります。つまり、一部のテスト活動は製品の発売後にも実行できます。もちろん、本番環境で直接テストすることは推奨されませんが、オンラインのパフォーマンスと可用性を監視するために本番環境でモニタリングを行うことはできます。オンラインで問題が発生した場合は、できるだけ早く対応し、事前に対応します。ユーザーに良い体験を提供します。

実際、要約すると、これは QC から QA への考え方の変化であり、テストは要件から最終リリースまでの閉ループの品質保証作業です。

履歴書の指導から面接の質問、有名企業へのターゲットを絞った納品まで、就職指導が一気通貫で行われているので、安心感というか保障がとても充実していると思います。上記の精神的な旅を要約すると、方向性と目標が決まったので、試してみることにしました。

ここからが本当の面接の質問です

香港の会社での給与は当初は実際に月給 5,000 ドルでしたが、今では年間契約総額は約 30 ワットです。私も一生懸命頑張ってきましたが、それだけでは足りないと感じており、これからも頑張らなくてはなりません。ただし、前提として、表面的なことから盲目的に学ぶことはできず、体系的、計画的、実践的な方法で独自の学習計画を実行し、それを厳密に実行する必要があります。

要約すると、最近のインタビューでの質問の一部です (回答はインターネット上の回答を参照しています)。

(1) プロジェクトにおけるソフトウェアの品質をどのように確保するか?

製品、反復プロセスで製品ロジックを保証し、互換性とアップグレードの可能性を予測し、解決策を提供します。

製品の表情を満足させながらも、デザインの連続性を確保したデザイン

開発、製品詳細の保証、技術ソリューションの厳密な選択、互換性と性能の考慮、開発完了後の完全な自己テスト、および開発仕様の運用に厳密に従います。

製品ロジックをテスト、検証し、ユーザーの観点からインタラクションデザインを体系的に検証し、テストの品質を確保するために可能な限り多くの技術的手段を使用します。

(2) アプリがクラッシュした原因は?

ここに画像の説明を挿入

(3) 主キー、外部キー、インデックスの違いは何ですか?

主キー: レコードを一意に識別し、重複することはできず、空にすることもできません。データの整合性を確保するために使用され、存在できるのは 1 つだけです。

外部キー: テーブルの外部キーは別のテーブルの主キーであり、外部キーには重複または NULL 値を含めることができます。外部キーは他のテーブルとの関係を確立するために使用され、テーブルには複数の外部キーを持つことができます。

インデックス: このフィールドには繰り返される値はありませんが、NULL 値を含めることができます。クエリの並べ替え速度を向上させるために、テーブルに複数のインデックスを含めることができます。

(4) 自動化プロジェクトの全体的な枠組みの構造を紹介しますか?

自動テスト フレームワークは、基本メソッドのカプセル化、カスタム例外のカプセル化、ツール クラスのカプセル化、要素管理のカプセル化、ページ オブジェクト モードのカプセル化、ログのカプセル化、データ管理のカプセル化、失敗時の再試行のカプセル化、ブラウザ/モバイル アダプテーションのカプセル化、データベース操作のカプセル化、テスト ケース管理をカバーします。パッケージング、テストレポートなど。

(5) Jmeter ツールはインターフェイス間をどのように関連付けますか?

インターフェイスの関連付けとは、インターフェイスが別のインターフェイスの戻り値をパラメータとして使用することを意味し、jmeter ではこれを関連付けと呼びます。

関連付けを実装するにはいくつかの方法があります。

正規表現エクストラクターを使用して、前のリクエストの応答結果から特定の値を取得し、それを変数に格納し、その変数を次のインターフェイスでの参照に使用します。

json エクストラクターを使用して、前のリクエストの応答結果から特定の値を取得し、それを変数に格納し、その変数を次のインターフェイスでの参照に使用します。

Beanshell ポストプロセッサを使用すると、解析応答結果が変数に保存され、次のインターフェイスはその変数を使用してスレッド間のグループ関連付けを参照します。関連付けフィールドはグローバル属性として設定する必要があります。

(6) パフォーマンス テストで TPS が比較的低いですが、何が問題なのでしょうか?

印刷機自体のパフォーマンスのボトルネック

ネットワーク IO ボトルネック

ミドルウェア (tomcat/nginx/mysql) の接続制限

Java スレッドのブロックと待機

システム リソース (CPU、メモリ、ディスク、ネットワークなど) のボトルネック

他の外部システムの応答時間が長すぎるため、このシステムの待ち時間が発生します。

(7) jmeter ポストプロセッサーで作成したスクリプトがどのようなものかを簡単に教えてください。

prev.setDataEncoding("utf-8"); 
String response_data = prev.getResponseDataAsString();

String Str = "\"code\":\"1000\"";
if (response_data == ""){
    
    
 log.info(carnumber+":"+"系统无响应,获取不到响应数据!");
}
else if(response_data.contains(Str) == false){
    
    
 log.info("报错:"+response_data);
}

(8) 文字列「Abc123」を反転します。

print("Abc123"[::-1])

(9) Python の re モジュールについてどれくらい知っていますか?

import re
# 常见操作方法
res = re.findall('a', 'jason apple eva')  # 查找所有符合正则表达式要求的数据 结果直接是一个列表 
res = re.finditer('a', 'jason apple eva')  # 查找所有符合正则表达式要求的数据 结果直接是一个迭代器对象
res = re.search('a', 'jason apple eva')
print(res)  # <re.Match object; span=(1, 2), match='a'>
print(res.group())  # a  匹配到一个符合条件的数据就立刻结束
res = re.match('a', 'jason apple eva')  # None  匹配字符串的开头 如果不符合后面不用看了
print(res.group())  # 匹配开头符合条件的数据 一个就结束
obj = re.compile('\d{3}')  # 当某一个正则表达式需要频繁使用的时候 我们可以做成模板
res1 = obj.findall('23423422342342344')
res2 = obj.findall('asjdkasjdk32423')

(10) Pythonスレッド化によりマルチスレッド化を実現

from threading import Thread
from time import sleep, ctime

class MyClass(object):
    def func(self,name,sec):
        print('---开始---', name, '时间', ctime())
        sleep(sec)
        print('***结束***', name, '时间', ctime())

def main():
    # 创建 Thread 实例
    t1 = Thread(target=MyClass().func, args=(1, 1))
    t2 = Thread(target=MyClass().func, args=(2, 2))

    # 启动线程运行
    t1.start()
    t2.start()

    # 等待所有线程执行完毕
    t1.join()  # join() 等待线程终止,要不然一直挂起
    t2.join()

if __name__=="__main__":
    main()

最後に:熱心なファンに恩返しするために、完全なソフトウェア テスト ビデオ学習チュートリアルを作成しました。必要な場合は、無料で入手できます。【保证100%免费】
ここに画像の説明を挿入

ソフトウェアテストの面接ドキュメント

私たちは高給の仕事を見つけるために勉強しなければなりません。次の面接の質問は、アリ、テンセント、バイトなどの一流インターネット企業からの最新の面接資料であり、一部のバイトの上司が権威ある回答をしています。このセットを完了してください。面接資料は次のとおりです。誰もが満足のいく仕事を見つけることができると信じています。

ここに画像の説明を挿入
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/m0_67695717/article/details/131474763