インタフェース試験(基本的な知識)

リテラシーコンテンツ:

1.インターフェースとは何ですか?

2.インタフェースの種類は何ですか?

3.インタフェースの本質とは何ですか?

4.テストするインターフェイスとは何ですか?

5. Q.インターフェイスのテストを何をしますか?

6.どのようにインターフェイスのテストを行いますか?

7.何CECEインタフェースパイロットのですか?

8.どのような知識インタフェーステストを習得する必要がありますか?

9.その他の関連知識?

1.インターフェースとは何ですか?

次いで、システムと外部と内部サブシステム間のシステムの相互作用の主点との間のインタフェース試験、特異的な相互作用点を定義する、これらの相互作用点を、いくつかの特別なルールとの間で行われる、すなわちプロトコルデータ相互作用。

2.インタフェースの種類は何ですか?

インターフェイスは、一般的に二つのタイプに分けられる:プログラム・インタフェース2内部および外部システムインタフェース1.

システムの外部インターフェース:たとえば、あなたがリソースや情報への別のウェブサイトまたはアクセス上のサーバーをしたい、他の人は確かにあなたの共有データベースを与えることはありません、彼はあなたにそれらが書き込まれたデータを取得する方法を与えることができ、あなたは彼の言葉を引用しますインターフェースは、データ共有の目的を達成するために彼の書かれて使用することができるようになります。

この後、など、方法および方法、モジュールとモジュール間の相互作用の間、内部手続は、このような掲示板システムとして投げインタフェースは、モジュールを掲示、ログインモジュールを持って、あなたはそれを投稿するにはログインする必要があります。内部手続きをインターフェース両モジュールとも相互作用を持っている必要があり、それは内部のシステムコールのためのインタフェースをスローします。

カテゴリーインタフェース:1.webserviceインタフェースインタフェース2.http API

私たちは、テストの時点でツールをテストするために、コールを使用し、Webサービスのインタフェースは、httpリクエストパケットを介して歩行SOAPプロトコルの伝送であると返すメッセージはXML形式です。

APIインターフェイスは、HTTP、HTTPプロトコル下、メソッド呼び出しを介して経路を区別するために、要求パケットは、キーと値の形態でありされ、パケットは、一般的に、最も一般的に2使用されGETとPOSTとJSON文字列などを返しますリクエストメソッド。

JSONはすべての言語がそれを認識している、一般的なデータ型です。(自然JSONは、彼が他の言語とは何の関係もありませんが、わずかなPythonの、キーと値の形で辞書に変換することができますなどの他の言語は、JavaScriptのネイティブに変換できるデータ型に加工して変換することができ、文字列でありますオブジェクトは、クラスオブジェクトは、他のJavaに変換することができます。)

3.インタフェースの本質とは何か、それをどのように動作するのですか?

あなたは、単に彼がURLであることを理解できるインターフェース、原理は基本的にデータを送受信し、いくつかの対応する戻り値を取得し、郵便で送られたサーバーのURLのようなものを言うか、要求を得るでしょう。

4.テストするインターフェイスとは何ですか?

テストインタフェースシステムコンポーネントとの間の界面でのテスト。相互作用の点との間のインターフェース試験は、主検出システムと外部システムとの間、及び各サブシステムの内部で使用されています。ストレステストは、システムなどの間で交換データ、及び制御転送プロセス管理、及び論理的相互依存関係を確認することです。

              - Baiduの百科事典

短い答えサーバまたは他のモジュールを言いたいURLを介して行われ、我々はデータ伝送を送信したい、その後、彼らの期待リターンを見ては、私たちが望むものではありません。

5. Q.インターフェイスのテストを何をしますか?

   1.それは修理の低コストで、根本的なバグを見つけます。

   2.フロントエンドは単なるバックエンドを変更しないでください、よくインターフェース・テストを変更、フロントとリアエンドは、人々の開発の2セットがあります。

   3.このようなショッピングJingdongの先端のようなセキュリティ検査システム、安定性、質量参加信頼されていないフロントエンドは、-1員可能価格を通過するが、インターフェース要素を通過することができる-1。

 システムの4複雑さは、現在テストインタフェースが、この場合の解決策を提供することができ、従来の試験方法のコストおよびテスト効率の大幅な低下を増加急激に上昇しています。

 インターフェース・テストは、継続的な統合を自動化することが比較的容易であり、そしてUIオートメーションも比較的安定して、手動回帰テストの時間と労力、コストを削減するテストサイクルの短縮、バックエンドのサポート迅速な開発バージョン要件をすることができます。継続的な統合インタフェースは、なぜ、低コスト、高歩留まりのルートであってもよいです。

 6.次に、フロント及びリアエンドシステムの多くのアーキテクチャでは、セキュリティの観点から分離されています。

        (1)だけフロントエンドに依存するセキュリティ要件(余りに容易正面をバイパスするように)、制御するために同じ必要の後端を満たすことができないシステムを制限しなければならず、この場合のインターフェイスのレベルを確認することが必要です。

        (2)、前部及び送信の後端は、印刷ログ情報は、特に、IDカード、銀行カードなどのユーザの個人情報に関連して、伝送を暗号化されて検証する必要がある場合。

6.どのようにインターフェイスのテストを行いますか?

- 前方及び後方端部は、我々のプロジェクトは、主に、HTTPプロトコルインターフェースに基づいて呼び出し、それは主に送信し、テストインタフェースを受信するためにHTTPリクエストをシミュレートするためのツールまたはコードを介してです。郵便配達、JMeterは、soupUI、Javaの+ HTTPClientは、robotframework + httplibraryなど次のような多くのツールがあります。

- インタフェースはまた、自動化を達成するために使用することができるアサーション決意に要求を送信することによって、コードと同様のUIオートメーションフレームワークに実装されています。

7.何CECEインタフェースパイロットのですか?

目的:インターフェースの精度と安定性をテストします。

原理:アナログクライアントは、サーバ要求メッセージを送信し、サーバは、クライアントサーバー上で処理される要求パケットを受信すると、クライアントは、受信した応答を処理し、対応する応答パケットを返します。

キー:切り替え、伝送、および制御検査データ管理プロセス、さらなる処理の数を含みます。

コア:継続的インテグレーションは、コアインタフェースのテストです。

利点は:監視欠陥及び品質管理機能、プラットフォーム用のより複雑かつ効率的なプラットフォームの高い複雑さをもたらす、より大規模なシステム、より大きなインタフェース試験(開発コストを削減し、テスト効率を向上させるユーザ体験を向上させるため)の効果。

キーケースの設計:通常最も外側の2つの主要テストインタフェース:システムからシステムへのインタフェースデータ(本発明のシステムを使用して外部システムコールパラメータ)とデータインターフェース(データ認証処理システムが正常です)。

PS:また、外部ユーザーへの外部インターフェイスに注意を払うために必要なユースケースのデザインは、これらのインターフェイスを使用するユーザーが本当に任意の外部関数を必要としています何。

    質問1.1、バックエンドのインターフェイスは、どのようなテストですか?

  - この質問に答える、我々は、以下の画像を参照してください、インタフェースのテスト活動の観点から、当社の現在のプロジェクトのバックエンドインターフェイスのテストの主な内容の基本的な反応を開始することができます。

 

 

質問2は、バックエンドインターフェイスのテストは再び、前にも再びテストし、再テストされていませんか?

  - この質問に答える、我々はコンテンツを検討したり、次の絵は、直接比較テストアプリとコンテンツアプリのインターフェーステスト終了テスト活動を示していたときにカバーする必要があります。

 

 

   図は、上記の比較から見た、二つのテスト活動の2つの同一の部分で議論されていないによる部分における目的の各他の特性、又は特別なテストポイントの異なるニーズに機能テスト、境界分析及び性能試験、 。次に我々は、3つの部分よりも、同一のコンテンツを分析します:

1、基本的な機能テスト:

  それは基本的なビジネス機能に対してテストなので、これは2個のテスト一致度の最も高い部分ですので、学生の開発はまた、一般的に、このセクションの主な内容と呼ばれます。

2、境界分析試験:

  一部(例えば、境界ビジネスルール)の繰り返しとなり、この部分に入力し、基本的な機能テストの出力に基づいて境界条件を考えます。しかしながら、入力と出力は、多くの場合、テストの境界が非常に制限され、この場合、ユーザは、(ドロップボックスなど)の値を選択できるように棒の前端に設けられているが、いかなるインタフェース・テストは、この制約は、比較的に言えば、存在しませんインタフェースは同じのより広い範囲をカバーすることができ、インターフェースの問題の可能性も高いです。

 3、パフォーマンステスト:

  这个比较容易区分,虽然都需要做性能测试,但关注点确大不相同。App端性能主要关注与手机相关的特性,如手机cpu、内存、流量、fps等。而接口性能主要关注接口响应时间、并发、服务端资源的使用情况等。两种测试时的策略和方法都有很大区别,所以这部分内容是需要分开单独进行测试的,理论上来说这也是不同的部分。

 

综论:

      1、接口测试和app测试的活动有部分重复的内容,主要集中在业务功能测试方面。除此之外,针对各自特性的测试都不一样,需要分别进行有针对性的测试,才能确保整个产品的质量。

  2、接口测试可以关注于服务器逻辑验证,而UI测试可以关注于页面展示逻辑及界面前端与服务器集成验证

3、接口测试持续集成:

      对接口测试而言,持续集成自动化是核心内容,通过持自动化的手段我们才能做到低成本高收益。目前我们已经实现了接口自动化,主要应用于回归阶段,后续还需要加强自动化的程度,包括但不限于下面的内容:

  a) 流程方面:在回归阶段加强接口异常场景的覆盖度,并逐步向系统测试,冒烟测试阶段延伸,最终达到全流程自动化。

  b) 结果展示:更加丰富的结果展示、趋势分析,质量统计和分析等

  c) 问题定位:报错信息、日志更精准,方便问题复现与定位。

  d) 结果校验:加强自动化校验能力,如数据库信息校验。

  e) 代码覆盖率:不断尝试由目前的黑盒向白盒下探,提高代码覆盖率。

  f) 性能需求:完善性能测试体系,通过自动化的手段监控接口性能指标是否正常。

 

4、接口测试质量评估标准:

  a) 业务功能覆盖是否完整

  b) 业务规则覆盖是否完整

  c) 参数验证是否达到要求(边界、业务规则)

  d) 接口异常场景覆盖是否完整

  e) 接口覆盖率是否达到要求

  f)  代码覆盖率是否达到要求

  g) 性能指标是否满足要求

  h) 安全指标是否满足要求

8.接口测试都要掌握哪些知识?

①了解系统及内部各个组件之间的业务逻辑交互;

②了解接口的I/O(input/output:输入输出);

③了解协议的基本内容,包括:通信原理、三次握手、常用的协议类型、报文构成、数据传输方式、常见的状态码、URL构成等;

④常用的接口测试工具,比如:jmeter、loadrunner、postman、soapUI等;

⑤数据库基础操作命令(检查数据入库、提取测试数据等);

⑥常见的字符类型,比如:char、varchar、text、int、float、datatime、string等;

 

如何学这些技能?

①系统间业务交互逻辑:通过需求文档、流程图、思维导图、沟通等很多渠道和方式;

②协议:推荐《图解http》这本书,内容生动,相对算是入门级的书籍,其他的还有《图解tcp、IP》等;

③接口测试工具:百度这些工具,然后你会发现,好多的教学博客、相关问题解决方案、以及一些基于工具的书籍,当然,选择合适的书很重要;

④数据库操作命令:学习网站(W3C菜鸟教程)、教学博客,以及一些数据库相关书籍,入门级推荐:《mysql必知必会》、《oracle PL/SQL必知必会》等

⑤字符类型:还是百度,有句话这么说:内事不决问百度,外事不决问Google。。。

 

 如何获取接口相关信息?

一般的企业,都会由开发或者对应的技术负责人员编写接口文档,里面会注明接口相关的地址、参数类型、方法、输入、输出等信息,如果没有,想办法获取。。。

接口文档八要素:

封面:封面最好是本公司规定的封面,有logo,内容标题,版本号,公司名称,文档产生日期;

修订历史:表格形式较好些,包括:版本、修订说明、修订日期、修订人、审核时间审核人等;

接口信息:接口调用方式,常用的GET/POST方式,接口地址;

功能描述:简洁清晰的描述接口功能,比如:接口获取的信息不包括哪些;

接口参数说明:每个参数都要和实际中调用的一样,包括大小写;参数的含义言简意赅的说明,格式,是string 还是int 还是long等格式;

            说明部分,说明参数值是需要哪里提供,并详细说明参数怎么生成的,例如时间戳,是哪个时间段的,参数是否必填,一些参数是必须要有的,有些是可选参数等;

返回值说明:

①最好有一个模板返回值,并说明每个返回参数的意义;

②提供一个真实的调用接口,真实的返回值;

调用限制,安全方面:

加密方式,或者自己公司一个特殊的加密过程,只要双方采用一致的加密算法就可以调用接口,保证了接口调用的安全性,比如常见的md5;

文档维护:文档在维护的时候,如有修改一定要写上修改日期,修改人,对大的修改要有版本号变更;

9.其他相关知识?

get请求,post请求的区别:

1、GET使用URL或Cookie传参。而POST将数据放在BODY中。
2、GET的URL会有长度上的限制,则POST的数据则可以非常大。
3、POST比GET安全,因为数据在地址栏上不可见。
4、一般get请求用来获取数据,post请求用来发送数据。
其实上面这几点,只有最后一点说的是比较靠谱的,第一点post请求也可以把数据放到url里面,get请求其实也没长度限制,post请求看起来参数是隐式的,稍微安全那么一些些,但是那只是对于小白用户来说的,就算post请求,你通过抓包也是可以抓到参数的。(唯一区别就是这一点,上面3点区别都是不准确的)

http状态码:

1、200 2开头的都表示这个请求发送成功,最常见的就是200,就代表这个请求是ok的,服务器也返回了。
2、300 3开头的代表重定向,最常见的是302,把这个请求重定向到别的地方了。
3、400 400代表客户端发送的请求有语法错误,401代表访问的页面没有授权,403表示没有权限访问这个页面,404代表没有这个页面。
4、500 5开头的代表服务器有异常,500代表服务器内部异常,504代表服务器端超时,没返回结果。

webservice接口怎么测试:

它不需要你在拼报文了,会给一个webservice的地址,或者wsdl文件,直接在soapui导入,就可以看到这个webservice里面的所有接口,也有报文,直接填入参数调用,看返回结果就可以了。
天气预报wsdl地址:http://www.webservicex.net/globalweather.asmx?wsdl

 

cookie与session的区别:

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗

考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能

考虑到减轻服务器性能方面,应当使用cookie。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

5、所以个人建议:

将登陆信息等重要信息存放为session
其他信息如果需要保留,可以放在cookie中

おすすめ

転載: www.cnblogs.com/georgexu/p/11224011.html