基本的な理論的な質問をテストソフトウェア
- 一般的な試験方法はありますか?
1 かどうかの観点から関心の内部構成に分割されている:ホワイトボックス、ブラックボックスは、グレーボックス ブラックボックステスト手順は、内部構造及び論理構造を考慮していない、使用される試験システムの主な機能は、要求仕様を満たしています。一般的には比較のために価値、および期待を入力し、入力値が存在します。 主に主にコード・レベルをテストするため、テスト段階で使用されるホワイトボックス装置、試験方法のためのプログラムの内部論理構造は、次のとおりステートメントカバレッジ、デシジョンカバレッジ、条件カバレッジ、パスカバレッジ、条件の組み合わせカバレッジ 灰色のボックスは、包括的試験でありますこの方法は、ブラックボックスとホワイトボックスは一緒に、外部に基づくものであろうと、プログラムの性能は、内部論理構造設計事例に関連して実行され、実行プログラムおよび実行情報取得経路テスト結果ユーザー外部インタフェース技術。 図2に示すように、コードに分割されている観点から実行される:静的試験と動的試験 静的試験:唯一のソースプログラム解析や構文、構造、プロセス、および他のインターフェースをチェックすることによって、プログラムの正しさをチェックするためにテスト自体でプログラムを実行していません。 動的テスト:テスト対象プログラムを実行して差が、期待される結果と動作結果を確認し、効率、精度及び堅牢性及び他の性能指標を分析します。 3 単体テスト、統合テスト、システムテストと受け入れテスト:ルックレベル開発プロセスに。 最小粒子サイズメイン検査ユニットかどうかを「デザイン。」、ホワイトボックステストを使用する開発チームによって、通常、ユニットテスト 典型的には、開発チームが、「ブリッジ」としてユニットとシステムテスト、行為の境界をテスト統合は、両方が「設計」を確認し、確認するために、試験にブラックボックスのアプローチとホワイトボックス使用する「需要」。 典型的には、試験にブラックボックスのアプローチを使用して独立した試験パネルによる試験システムの最大粒径は、メイン試験システムは、「要求仕様」を満たしています システムテスト・タイプの特定のタイプがある:機能テスト、パフォーマンステスト、インタフェーステスト、セキュリティテスト、互換性テスト 受け入れテストとシステムテストは、主な違いは、テスターであり、ユーザによって実行される受け入れテストと同様です。
- テストケースの設計法(具体的な質問と組み合わせることができるが、あなたがテストケースを設計するための方法を使用することができます)とは何?
同値分割、境界値分析、デシジョンテーブル、直交実験、エラー推測、原因と結果の図、シーン方式
の共通テストケースの設計上の問題:あなたは、リフト設計・テスト・ケースを与えるためにどのように、ペンのための設計・テスト・ケース、デザインのテストケースは、テストケースは、米国のミッションのために限り有料に設計されたか、どのように紙コップを与え、あなたの携帯電話の電卓のためのテストケースを設計
- ウェブとアプリのテストテストの類似点と相違点についての話には何がありますか?
同じ: プロセスからWebアプリのテストとテスト、違いはありません。テストプランプログラム、ケースの設計、テスト実行、不具合管理、テスト報告書およびその他の関連活動を通過する必要があります。技術的には、Webアプリケーションのテストとそのテストタイプをテストするには、また、機能テスト、パフォーマンステスト、セキュリティテスト、GUIテストとテストの他の種類もする必要が似ています。 異なる: 彼らの主な違いは細部にあり、具体的な試験方法が異なっている、のような:パフォーマンステスト、ウェブテストは、フローテストと消費電力テストを検討する必要があるアプリのテストの要素の応答時間をテストする必要があります。 互換性テスト:最後は互換性のあるWebブラウザで、アプリケーションのエンドのモバイル機器に互換性があります。そして、それはテストがあるので、別のブラウザ互換性テストを使用する必要があるので、互換性テストツールは、互換性のある同じ、Webブラウザではありません対応(IE、クロム、Firefoxの、と一般的に互換性 360 、エッジ、サファリは、犬を検索します)携帯電話側ならば、我々は異なるブランド、異なる解像度、異なるオペレーティングシステムとの互換性も、アンドロイドの異なるバージョンと互換性がある必要があります。(互換モードでは、Nビットへの携帯電話の占有率の前に一般的な市場に対応している)、そして時にはテスト互換性キットに使用することができますが、WEBの互換性ツールマルチIETesterや他のツール、およびアプリケーションの互換性テストこのTESTINを使用します。商用ツールは、テストを行うことができます。 インストールとテスト:ウェブ事実上のクライアントインストールレベルのテストをテストしませんが、テストは、クライアントアプリケーション・レベルのインストールとテストの存在である、関連するテストポイントを持っています。 そこでは、アプリベースの携帯電話のテスト特別なテスト機器、および一部のモバイルデバイス。このような交差イベントテスト、操作種別テスト、ネットワークテスト(弱いネットワークテスト、ネットワークの切り替え)などの 電話、テキストメッセージ、低バッテリヒントや他の外部イベントにソフトウェアの動作である:イベント・テストを横切ります。 操作タイプ試験:水平スクリーン試験、符号検定 ネットワークテストは:弱いネットワークスイッチングネットワークとテストが含まれています。弱いユーザー体験によって引き起こされるネットワークをテストする必要があり、焦点はロールバックし、それが二次リフレッシュが提出原因になりますかどうかを検討する必要があります。弱いアナログネットワークは360wifiを設定することによって達成されると言われています。 システムアーキテクチャレベルから、ウェブがアップデートサーバ限りのテスト、クライアントが更新され同期します。そして、クライアントは、各ユーザーのクライアントのためにまったく同じことが保証されます。しかし、APPのエンドユーザーがクライアントを更新する場合を除き、まったく同じことを保証することはできません。サーバは次のアプリを変更する場合には、手段は、ユーザが使用するクライアントのコアバージョンが再び回帰テストが必要であること。 そこのテストアップグレード:アップグレードユーザーデータがクリアされた後のテストでは、アップグレードをキャンセルするかどうかをアップグレード機構リマインダーは、元の関数の使用に影響を与えます。
- インターフェイスどのようにテスト?
インターフェイステストポイント: 1つのビジネス機能を実装するかどうか、正常、異常なシーンを含め、達成されます。 通常は、オプションのパラメータは、インターフェイス範囲文書に入力される単一のパラメータ、パラメータの組み合わせ、必須パラメータを含む 提出、提出複雑なマルチマシン環境を繰り返し、インターフェイス文書に指定されたパラメータを渡さない、異常シーン含む少ない通過、マルチパス、テストデータの大量 2 インターフェースは、データを返さチェックが期待される結果と一致しています。 ときに、このような新しいユーザーがすでに存在する場合、00を返すかどうか成功した新たなビジネスのコードの場合、戻りコード02、03を返すかどうかを、パラメータの型を通過して、文書の比較・インタフェースのエラーコード レスポンスボディ:結果およびドキュメントが一貫したフィールドにするかどうか の応答をデータ:データは、データベースと一致するかどうか 3 フォールトトレランス検査用インターフェースを送信パラメータ、一貫性のない長さは、エラーデータ、異なるデータ型を処理できる場合はnullです。 4つのインタフェースパラメータの境界値。例えば、送信パラメータの十分に大きな又は小さな十分なインターフェイスが処理できるかどうか、負です。 図5は、インターフェース、SQLステートメント、アルゴリズム、httpリクエストインターフェイスのほとんどとバックエンドの実行のパフォーマンスの相対的なパフォーマンスを比較します。 6 セキュリティインターフェイスは、外部呼び出しインターフェースは特に重要です。 1件の機密情報が暗号化されている 2つの必要なパラメータはまた、(フロントエンドを容易に、同じ必要の後端部を制御することがバイパスされる)後端部を確認している 3 インターフェイスアンチマルウェア要求(SQLインジェクション)か 7互換インターフェース、インターフェース等が調整されているが、フロントが変更されていない、この時間呼び出しの古い方法を満たすために、新しいインタフェースを確認する必要
2つのデータベース問題
- 外側内違いや接続の説明が参加しますか?
でも外(参加左)左に、外側コネクタと右にも外側(右結合) の接続左:表示される表示条件を照合することによって、すべての左テーブルを取る右の表は、null満たしていない テーブル全体をとる権利:右の接続を、表示条件を照合することによって、左テーブルが、表示されたヌル満たしていない SELECT * t_reserveから左t_advisor JOIN = B ONがa.advisor_id ; B.ID SELECT * FROM t_reserveはJOIN t_advisor B = ON RIGHTをa.advisor_id b.idを; 参加キーワード内側を結ぶ内側、両方のテーブルは、条件リターン部分を満たします
- マルチテーブル・クエリ/クエリをグループ化する質問
既存の3つのテーブルは以下のとおりです 。表の学生(学生証、氏名、性別、スコア))、学生(S_ID、名前、性別、スコア) クラステーブル(クラスID、クラス名)クラス(C_ID、c_name) 学生のクラステーブル(クラスID、前記ID上記)student_class(S_ID、C_ID)の学生 1。照会クラスは、80個の以上のポイントを獲得または60に等しい、61 、62人の生徒。 SELECTは 、s.s_id S. NAMEは、 s.scoreは、 sc.c_idは、 c.c_name FROM 学生S student_class ON s.s_id SC JOIN LEFT = sc.s_id LEFT JOINをクラス Cを= ONはsc.c_id c.c_id WHERE ( S .score > 80 OR s.score IN( 60、61、62である) ) AND c.c_name= ' クラス' ; 2 。クエリのすべてのクラスの名前、および平均の少女と女性の数のすべてのクラス。 SELECTは 、sc.s_id c.c_name、 、COUNT(s.sex) AVG(s.score) FROM student_class SC LEFT JOINをクラス Cが= ONがsc.c_id c.c_id 左の生徒SをJOIN sc.s_id = s.s_id WHERE s.sex = ' F ' GROUP BYは c.c_name ORDER BYは、 ASCをc.c_id。
-
データベーストランザクションとは何ですか?
データベーストランザクション(トランザクション)がアクセスすることが可能であり、データベース操作シーケンスデータの様々なアイテムを操作、これらの動作は、それが仕事の不可分単位であり、いずれかのすべての実行またはすべての実行されません。すべてのデータベース操作はトランザクションと開始トランザクションの端部との間に取引が実行します。
3本のネットワーク・プロトコルの論文
- GETとPOSTの違いは?
取得し、ポストは、二つの最も一般的なプロトコルのHTTPリクエスト・メソッドは次のとおりです: 1つのに.get要求は、要求がサーバーにポストのデータに提出され、サーバーからリソースを取得することである 2 ステッチを通じて、URL内に.getリクエストパラメータ、上のポストリクエストパラメータ?ボディは、によって送信されたフォーム 簡単に傍受さ①urlは、そのポストよりも安全取得 GETは、URLの中で、一般的に256文字のURLの最大長制限にあっ限られているので、②、および身体上のポストは、何の長さの制限はありません 3 URL経由に.get要求は、それがキャッシュされ、ブックマークすることができますので、ブラウザに配置することができ、かつ、ブラウザの履歴に記録することができ、そしてポストではありません 効果が同じで何回に関係なく実行するための要求を送信するために4.get同じ方法、悪影響のデータを生成していないサーバは、get要求は冪等で、POSTリクエストは、非冪等であります
- URLを入力した後に何が起こったか、ブラウザで?
ブラウザのURLで入力アドレス 2 IP見つけて、ポートがリゾルバのドメイン名のDNSでドメイン名に対応するブラウザ 3 確認IPとポート、TCPポートは、接続を確立するために、対応するサーバのIP(スリーウェイハンドシェイク)に要求を送信 4 WebサーバへのHTTPブラウザが要求を送信 5 サーバが要求を処理 6 サーバが応答HTML返信 7は、TCPコネクション(4波)閉じ 8 HTMLの表示を開始するには、ブラウザを 。9 ブラウザが取得したオブジェクトは、HTMLに埋め込まれている送信 10 建設ツリーをレンダリング 11ブラウザのレイアウトのレンダリング
- HTTPとHTTPSの違いは何ですか?
HTTPプロトコルは、WebブラウザとWebサーバ間の転送情報に使用されているハイパーテキスト転送プロトコル、です。HTTPプロトコルは、データの暗号化にはどのような方法を提供していない攻撃者は、WebブラウザとWebサーバー間のメッセージの送信を傍受した場合、あなたは直接に情報を読み取り、および一部のHTTPプロトコルの伝送に適していないことができ、プレーンテキストコンテンツに送信されますこのようようにクレジットカード番号、パスワードや機密情報など。 セキュアソケットレイヤーハイパーテキスト転送プロトコルHTTPS:この欠点のHTTPプロトコルに対処するために、我々は別のプロトコルを使用する必要があります。SSLプロトコルHTTPに基づいて追加の安全なデータ伝送、HTTPSに、SSLは、ブラウザとサーバ間のサーバと暗号化通信の身元を確認するために、証明書に依存しています。 次の4つのポイントとして、HTTPSとHTTPの主な違い: 1 .https契約は証明書を申請する必要があるCAは、証明書は、一般的に有料に無料で少し必要です。 2 。のHTTPハイパーテキスト転送プロトコルを、情報が平文で送信され、HTTPSは、SSLセキュリティ伝送プロトコルを使用して暗号化されています。 3 。HTTPおよびHTTPS使用ポートと完全に異なる接続が、同じではないが、前者80は、デフォルトでは443であり、デフォルトです。 4.http接続は非常に簡単です、ステートレスであり、HTTPSプロトコルは、SSL +で暗号化された送信用のHTTPプロトコル、ネットワーク認証、httpプロトコルよりもセキュリティを構築しました。 質問:ステートレスHTTPとは何ですか? いいえ状態がトランザクション処理とメモリのためのプロトコルではありません、サーバーはどのようなクライアントの状態を把握していません。私たちは要求に応じて、サーバーへのHTTPリクエストを送信していることをした後、我々は上でデータを送信します、しかし、送信は、任意のメッセージを記録していません。だから、人々のニーズが増加するにつれて、クライアントがクッキーを使用して、サーバーは接続の状態を記録するためにセッションを使用します
- TCPプロトコルの理解を振って3ウェイハンドシェイクおよび4についての話?
(注:配列番号代表の代わりにACK確認応答番号) 最初のハンドシェーク:クライアントが接続を確立したい場合、クライアントは、SYNパケットを送信する(SEQサーバへ= X)は、クライアントは、次に示す、状態SYN_SENDに入りますSYNパケットは、過去に送信され、サーバーを待っているに認識されています。この時= 0 ACK、SYN = 1 、初めてので、握手をするには、この時間なので、何のACKフラグがない。 第二のハンドシェイク:サーバーは、SYNパケットを受信し、それは我々がSYNフラグを知ることができる上記により、確認されますこれは、この時間は、確認番号を作ることになるシーケンス番号の同期である =番号+ 1、すなわち、ACKは、x + 1に等しくなり、次いで、サーバは、サーバがSYNを送信するときであるSYNパケット(SEQ = Y)としてクライアントを送信します+サーバがクライアントとセカンダリのハンドシェイクを確立するためのハンドシェイクを示していることを確認するために、ACKパケットは、サーバーがこの時点でSYN_RECV状態になります。= 1この時点でSYN、ACK = 1は、このハンドシェイクので、二度目なので、クライアントとサーバーを確認する符号が存在するであろう。 第三のハンドシェーク:クライアントサーバーはSYN受信 + ACKパケットを、次いで、サーバは、肯定応答パケットがACK(ACK = K + 1)とSYN(= X + SEQ 1のようになる送信するクライアントは、送信された後まで)、パッケージそしてサーバは、ESTABLISHED状態に入り3ウェイハンドシェイクを完了し、サーバーとクライアント間でデータを転送することができた後になります。この時点で、SYNフラグは、もはや必要ではない私たちが送ったときにスリーウェイハンドシェイクを表すACKフラグが成功したため、接続が確立されており、次のデータを介して送信することができます。 今では、SYN ACKパケットは、なぜそれを確認する必要がありますか?SYN同期シリアル番号、SYN = 1、ACK = 0が、それはこの接続要求パケットであることを示しています。相手が接続を確立することに同意した場合、それはSYN = 1、ACK = 1応答パケット操作にする必要があります。したがってSYNは1に設定され、これは、接続要求又は接続受諾メッセージであることを示しています。ACK状態は、接続を許可するかどうかを確認するために使用されます。これは、SYN、受信者は問題ありませんことを証明するためにチャネルの送信者を渡されますが、ACK信号の送信側へのチャネル受信機を検証するために必要。 接続に代わって完成TCP 3ウェイハンドシェイクの仕上げは、確立された場合には
データを送信した後、クライアントとサーバーのハンドシェイクの間に存在する場合に 最初のハンドシェイク:クライアントは、FINと最後のシーケンス番号(SEQ送る = クライアントとの間で、U)とサービスを表すために使用される閉鎖端部を有します要求は、クライアント・サーバ・データ転送を閉じているときに、クライアントはFIN_WAIT_1の状態になります。 第ハンドシェーク:サーバーはFINを受信フラグ= 1、それはすなわち、U + 1 = ACK、受信した確認応答番号が1だけインクリメント数となり、確認ACKフラグ代表を送信する場合(FINとそれは半閉状態であり、サービス側CLOSE_WAIT状態になり、この点に関して同じSYNではなく、同様の効果)です。サーバだけがクライアントにデータを送信し、クライアントがサーバにデータを送信することはできません。 サードハンドシェイク:ハンドシェイクがデータの最後の転送後、サーバーにあるサーバーによって開始された(無通過しない)FIN送信します = 1 = 1、ACKを、数字は(何のパスを、配列を変更しませんデータは)変わらない、とACK変更されません。サーバがLAST_ACK状態になります。この時間は、最終確認を表します。 第四に握手:クライアントはFINを受け取った後、TIME_WAIT状態に入り、その後、ACKのSEQ送信します。= U + 1、サーバにACK = + W. 1は、この時点で、サーバーは、CLOSED状態になります。クライアントが入ったときとTIME_WAIT状態は2MSLをシャットダウンするまでの時間を待つ必要があります
- 一般的なHTTPステータスコードは何を表しますか?
1xx:信息提示 2xx:成功 200:成功。请求的所有数据都在响应体中 3xx:重定向 301:(Moved Permanently)当客户端触发的动作引起了资源URI的变化时发送此响应代码。另外,当客户端向一个资源的旧URI发送请求时,也发送此响应代码。 4xx:客户端错误 400:(Bad Request)客户端方面的问题。实体主题中的文档(若存在的话)是一个错误消息。希望客户端能够理解此错误消息,并改正问题。 401:(Unauthorized未授权)需要输入用户名和密码 404:(Not Found未找到)服务器无法找到所请求URL对应的资源 5xx:服务器错误 502:(Bad Gateway)指错误网关,无效网关;在互联网中表示一种网络错误
四 linux相关
五 编程题(python)
六 自动化