인터페이스 테스트의 전체 과정에서 문맹을 제거하고 그물을 통해 미끄러지는 것을 보자

목차

읽기 쓰기 콘텐츠:

1. 인터페이스란?

2. 어떤 유형의 인터페이스가 있습니까?

3. 인터페이스의 특성과 작동 방식은 무엇입니까?

4. 인터페이스 테스트란 무엇입니까?

5. 인터페이스 테스트란?

6. 인터페이스 테스트는 어떻게 하나요?

7. 인터페이스 테스트 포인트는 무엇입니까?

8. 인터페이스 테스트에서 마스터해야 하는 지식은 무엇입니까?

9. 기타 관련 지식?


읽기 쓰기 콘텐츠:

1. 인터페이스란?

2. 어떤 유형의 인터페이스가 있습니까?

3. 인터페이스의 본질은 무엇입니까?

4. 인터페이스 테스트란 무엇입니까?

5. 인터페이스 테스트란?

6. 인터페이스 테스트는 어떻게 하나요?

7. 인터페이스 테스트 포인트는 무엇입니까?

8. 인터페이스 테스트에서 마스터해야 하는 지식은 무엇입니까?

9. 기타 관련 지식?

1. 인터페이스란?

인터페이스 테스트는 주로 외부 시스템과 내부 하위 시스템 간의 상호 작용 지점에 사용되어 특정 상호 작용 지점을 정의한 다음 이러한 상호 작용 지점을 통해 일부 특수 규칙, 즉 프로토콜을 통해 데이터 교환 상호 작용을 수행합니다.

2. 어떤 유형의 인터페이스가 있습니까?

인터페이스는 일반적으로 두 가지 유형으로 나뉩니다. 1. 프로그램의 내부 인터페이스 2. 시스템의 외부 인터페이스

시스템의 외부 인터페이스: 예를 들어, 다른 웹사이트나 서버에서 자원이나 정보를 얻으려는 경우, 다른 사람들은 절대 당신과 데이터베이스를 공유하지 않을 것입니다.그들은 데이터를 얻기 위해 작성한 방법만 제공할 수 있습니다. 인터페이스는 그가 작성한 방법을 사용하여 데이터 공유의 목적을 달성할 수 있습니다.

프로그램 내부의 인터페이스: 메소드 간의 상호 작용, 모듈과 모듈 간의 상호 작용, bbs 시스템과 같은 프로그램 내부에 던져진 인터페이스, 로그인 모듈, 게시 모듈 등이 있습니다. 그런 다음 원하는 경우 먼저 로그인해야 합니다. post, then this 두 모듈은 상호 작용해야 하며 내부 시스템이 호출할 인터페이스를 생성합니다.

인터페이스 분류: 1. 웹 서비스 인터페이스 2. http api 인터페이스

webService 인터페이스는 비누 프로토콜을 통해 http를 통해 전송되며, 요청 메시지와 반환 메시지는 모두 xml 형식이며 테스트할 때 호출 및 테스트하는 데 통과 도구만 사용합니다.

http api 인터페이스는 http 프로토콜을 사용하여 경로를 통한 호출 구분 요청 메시지는 키-값 형식이며 반환 메시지는 일반적으로 json 문자열입니다. 두 가지 요청 방법.

JSON은 모든 언어가 인식하는 범용 데이터 유형입니다. (json의 본질은 문자열이다. 다른 언어와 아무 상관이 없다. 약간의 처리를 거쳐야 다른 언어의 데이터형으로 변환할 수 있다. 예를 들어 파이썬에서는 사전으로 변환할 수 있고, 키-값의 형태는 자바스크립트에서 네이티브로 변환 가능 객체, 자바 등에서 클래스 객체로 변환 가능)

Postman 인터페이스 테스트: 2023 전체 네트워크 신, 스테이션 B에서 가르치는 가장 상세한 Postman 인터페이스 테스트 실용적인 교육, 초보자는 배울 수 있습니다_哔哩哔哩_bilibili icon-default.png?t=N4HBhttps://www.bilibili.com/video/BV16L41117wB/?spm_id_from=333.999 .0.0

 

3. 인터페이스의 특성과 작동 방식은 무엇입니까?

인터페이스가 URL이라는 것을 간단히 이해할 수 있습니다.작동 원리는 URL이 get 또는 post 요청을 통해 서버에 무언가를 보낸 다음 해당 반환 값을 가져오는 것입니다.본질은 데이터의 송수신입니다.

4. 인터페이스 테스트란 무엇입니까?

인터페이스 테스트는 시스템 구성 요소 간의 인터페이스를 테스트하는 테스트 유형입니다. 인터페이스 테스트는 주로 외부 시스템과 내부 하위 시스템 간의 상호 작용 지점을 감지하는 데 사용됩니다. 테스트의 초점은 데이터 교환, 전달 및 제어 관리 프로세스, 시스템 간의 상호 논리적 종속성을 확인하는 것입니다.

    

짧은 대답은 서버나 다른 모듈과 같은 URL을 통해 전송하려는 데이터를 전송한 다음 예상대로 반환되는지 확인하는 것입니다.

5. 인터페이스 테스트란?

   1. 버그가 낮을수록 수리 비용이 낮아집니다.

   2. 프런트 엔드는 마음대로 변경할 수 있고 인터페이스는 테스트를 거쳤으며 백엔드는 변경할 필요가 없으며 프런트 엔드와 프런트 엔드는 두 그룹이 개발합니다.

   3. 시스템의 보안과 안정성을 확인하세요.프론트 매개 변수는 신뢰할 수 없습니다.예를 들어 Jingdong 쇼핑, 프론트 엔드 가격은 -1위안으로 전달할 수 없지만 -1위안은 인터페이스를 통해 전달할 수 있습니다.

 4. 오늘날의 시스템 복잡성은 계속해서 증가하고 기존 테스트 방법의 비용은 급격히 증가하며 테스트 효율성은 급격히 떨어집니다.인터페이스 테스트는 이 경우 솔루션을 제공할 수 있습니다.

 5. 인터페이스 테스트는 자동화된 연속 통합을 달성하기가 상대적으로 쉽고 UI 자동화에 비해 상대적으로 안정적이므로 수동 회귀 테스트의 인건비와 시간을 줄이고 테스트 주기를 단축하며 백엔드의 빠른 릴리스를 지원할 수 있습니다. 요구 사항. 인터페이스 연속 통합은 저비용 고수익의 근본 원인입니다.

 6. 오늘날 많은 시스템의 프론트엔드와 백엔드가 분리되어 있습니다.보안의 관점에서:

        (1) 프런트엔드에만 의존하여 제한하는 것은 더 이상 시스템의 보안 요구 사항을 충족할 수 없으며(프런트엔드를 우회하기가 너무 쉬움) 백엔드도 제어해야 합니다. , 인터페이스 수준에서 확인이 필요합니다.

        (2) 특히 신분증, 은행카드 등 이용자의 개인정보와 관련된 전, 백엔드 전송 및 로그 출력 등의 정보가 암호화되어 전송되는지 여부도 확인해야 합니다.

6. 인터페이스 테스트는 어떻게 하나요?

--우리 프로젝트의 프런트엔드 및 백엔드 호출은 주로 http 프로토콜의 인터페이스를 기반으로 하기 때문에 인터페이스를 테스트할 때 주로 도구 또는 코드를 사용하여 http 요청 송수신을 시뮬레이션합니다. Postman, jmeter, soupUI, java+httpclient, robotframework+httplibrary 등과 같은 많은 도구가 있습니다.

--인터페이스 자동화, 즉 코드로 실현할 수도 있습니다. 프레임워크는 UI 자동화와 유사하며 보내는 요청은 어설션으로 판단합니다.

7. 인터페이스 테스트 포인트는 무엇입니까?

목적: 인터페이스의 정확성과 안정성을 테스트합니다.

원리: 클라이언트가 서버에 요청 메시지를 보내고 서버는 요청 메시지를 수신한 후 해당 메시지를 처리하고 클라이언트에 응답을 반환하며 클라이언트는 응답을 받는 프로세스를 시뮬레이션합니다.

요점: 프로세스 수를 포함하여 데이터 교환, 전송 및 제어 관리 프로세스를 검토합니다.

핵심: 지속적인 통합은 인터페이스 테스트의 핵심입니다.

장점: 매우 복잡한 플랫폼에 효율적인 결함 모니터링 및 품질 감독 기능을 제공합니다.플랫폼이 복잡할수록 시스템이 커질수록 인터페이스 테스트의 효과가 더 분명해집니다(테스트 효율성 향상, 사용자 경험 향상 및 R&D 비용 절감).

사용 사례 설계의 요점: 일반적으로 두 개의 가장 바깥쪽 인터페이스가 주로 테스트됩니다: 데이터 입력 시스템 인터페이스(시스템에서 사용하기 위해 외부 시스템의 매개 변수 호출) 및 데이터 유출 시스템 인터페이스(시스템에서 처리된 데이터가 정상);

추신: 사용 사례를 설계할 때 외부 인터페이스가 이러한 인터페이스를 사용하는 외부 사용자에게 어떤 기능을 제공하는지, 외부 사용자에게 실제로 필요한 기능이 무엇인지 주의를 기울여야 합니다.

우편 배달부 인터페이스 테스트 비디오 자습서: 2023 전체 네트워크 신, 스테이션 B에서 가르치는 가장 상세한 우편 배달부 인터페이스 테스트 실용적인 교육, 초보자는 배울 수 있습니다_哔哩哔哩_bilibili icon-default.png?t=N4HBhttps://www.bilibili.com/video/BV16L41117wB /?spm_id_from =333.999.0.0

    질문 1.1 테스트한 백엔드 인터페이스는 무엇입니까?

  --이 질문에 답하기 위해 인터페이스 테스트 활동 내용의 관점에서 시작할 수 있습니다.아래 그림을 살펴보십시오. 기본적으로 우리 프로젝트의 현재 백엔드 인터페이스 테스트의 주요 내용을 반영합니다.

질문 2. 백엔드 인터페이스를 한 번 테스트하고 프런트 엔드도 한 번 테스트했는데 테스트를 반복합니까?

  --이 질문에 답하기 위해 인터페이스 테스트와 앱 측 테스트 활동의 내용을 직접 비교할 수 있습니다.다음 그림은 앱 테스트 중에 다루거나 고려해야 할 내용을 보여줍니다.

위의 두 그림을 비교하면 두 가지 테스트 활동의 동일한 부분 에는 기능 테스트, 경계 분석 테스트 및 성능 테스트가 포함되고 다른 부분은 특성이나 우려 사항이 다르기 때문에 특별한 테스트가 필요하다는 것을    알 수 있습니다. 여기서 논의.. 다음으로 위 세 부분의 동일한 내용을 분석합니다.

1. 기본 기능 테스트:

  이 테스트는 기본적인 비즈니스 기능을 대상으로 하기 때문에 이 부분이 두 테스트 간에 가장 많이 겹치는 부분이며 개발자는 일반적으로 이 부분을 참조합니다.

2. 경계 분석 테스트:

  기본 기능 테스트를 기반으로 입력 및 출력의 경계 조건을 고려하고 이 부분도 반복되는 부분(예: 비즈니스 규칙의 경계)이 있을 것입니다. 그러나 프런트엔드의 입력과 출력은 종종 사용자가 선택할 수 있는 고정 값(예: 드롭다운 상자)을 제공합니다. 인터페이스 테스트.상대적으로 말하면 인터페이스는 더 넓은 범위를 커버할 수 있습니다.마찬가지로 인터페이스 문제의 확률도 더 높습니다.

 3. 성능 테스트:

  이것은 상대적으로 구별하기 쉽습니다.둘 다 성능 테스트가 필요하지만 초점은 상당히 다릅니다. 앱 측 성능은 주로 휴대폰 cpu, 메모리, 트래픽, fps 등과 같은 휴대폰 관련 기능에 중점을 둡니다. 인터페이스 성능은 주로 인터페이스 응답 시간, 동시성 및 서버 리소스 사용에 중점을 둡니다. 두 테스트의 전략과 방법이 많이 다르기 때문에 내용상 이 부분은 따로 테스트를 해야 하며, 이론상 이것도 다른 부분입니다.

요약:

      1. 인터페이스 테스트 및 앱 테스트 활동에는 주로 비즈니스 기능 테스트에 중점을 둔 반복적인 내용이 있습니다. 또한 각각의 특성에 대한 테스트가 다르며 전체 제품의 품질을 보장하기 위해 대상 테스트를 별도로 수행해야 합니다.

  2. 인터페이스 테스트는 서버 로직 검증에 집중할 수 있는 반면, UI 테스트는 페이지 디스플레이 로직과 인터페이스 프런트엔드 및 서버 통합 검증에 집중할 수 있습니다.

3. 인터페이스 테스트의 지속적인 통합:

      인터페이스 테스트의 경우 지속적인 통합 자동화가 핵심 콘텐츠이며 자동화를 통해서만 저비용 및 고수익을 달성할 수 있습니다. 현재 회귀 단계에서 주로 사용되는 인터페이스 자동화를 구현했으며, 향후 자동화 정도를 강화할 필요가 있으며 다음을 포함하되 이에 국한되지 않습니다.

  a) 프로세스 측면에서: 회귀 단계에서 인터페이스 예외 시나리오의 적용 범위가 강화되고 점차 시스템 테스트 및 스모크 테스트 단계로 확장되어 최종적으로 전체 프로세스 자동화를 달성합니다.

  b) 결과 표시: 더 풍부한 결과 표시, 추세 분석, 품질 통계 및 분석 등

  c) 문제 해결: 오류 메시지와 로그가 더 정확하여 문제를 더 쉽게 재현하고 해결할 수 있습니다.

  d) 결과 검증: 데이터베이스 정보 검증 등 자동 검증 기능을 강화한다.

  e) 코드 적용 범위: 코드 적용 범위를 개선하기 위해 현재 블랙 박스에서 화이트 박스로 지속적으로 드롭을 시도합니다.

  f) 성능 요구 사항: 성능 테스트 시스템을 개선하고 자동화된 수단을 통해 인터페이스 성능 지표가 정상인지 모니터링합니다.

4. 인터페이스 테스트 품질 평가 기준:

  a) 업무 기능 범위가 완전한지 여부

  b) 비즈니스 규칙 적용 범위가 완전한지 여부

  c) 매개변수 검증이 요구 사항(경계, 비즈니스 규칙)을 충족하는지 여부

  d) 인터페이스 예외 시나리오의 적용 범위가 완전한지 여부

  e) 인터페이스 커버리지가 요구 사항을 충족하는지 여부

  f) 코드 범위가 요구 사항을 충족하는지 여부

  g) 성과 지표가 요구 사항을 충족하는지 여부

  h) 안전지표의 요구사항 충족 여부

8. 인터페이스 테스트에서 마스터해야 하는 지식은 무엇입니까?

① 시스템과 다양한 내부 구성 요소 간의 비즈니스 로직 상호 작용을 이해합니다.

② 인터페이스의 I/O(입력/출력: 입력 및 출력)를 이해합니다.

③ 통신 원리, 3방향 핸드셰이크, 일반적으로 사용되는 프로토콜 유형, 메시지 구성, 데이터 전송 모드, 공통 상태 코드, URL 구성 등 프로토콜의 기본 내용을 이해합니다.

④공통 인터페이스 테스트 도구: jmeter, loadrunner, postman, soapUI 등

⑤기본 데이터베이스 운영 명령(데이터 저장 확인, 테스트 데이터 추출 등)

⑥ 일반적인 문자 유형: char, varchar, text, int, float, datatime, string 등

이러한 기술을 배우는 방법?

①시스템 간 비즈니스 상호작용 로직: 요구사항 문서, 흐름도, 마인드맵, 커뮤니케이션 등 다양한 채널과 방법을 통해

②프로토콜: 내용이 생생하고 비교적 기초적인 책인 "Illustrated http" 책을 추천합니다.

③인터페이스 테스트 도구: Baidu에서 이러한 도구를 사용하면 교육 블로그, 관련 문제 해결 방법 및 일부 도구 기반 책을 찾을 수 있습니다. 물론 올바른 책을 선택하는 것이 매우 중요합니다.

④ 데이터베이스 운영 명령: 학습 웹사이트, 교육 블로그 및 일부 데이터베이스 관련 서적, 초급 권장 사항: "mysql은 알고 있어야 합니다", "oracle PL/SQL은 알고 있어야 합니다" 등

⑤문자형 : 그래도 바이두, 내정이 어려우면 바이두에 물어보고, 외정이 어려우면 구글에 물어보라는 말이 있다. . .

 인터페이스 관련 정보는 어떻게 얻나요?

일반 기업에서는 개발 또는 해당 기술 인력이 인터페이스 문서를 작성하여 주소, 매개 변수 유형, 방법, 입력, 출력 및 기타 인터페이스 관련 정보를 표시하며 그렇지 않은 경우 얻을 수 있는 방법을 찾습니다. . .

인터페이스 문서의 8가지 요소:

표지: 표지는 로고, 콘텐츠 제목, 버전 번호, 회사 이름 및 문서 생성 날짜가 포함된 회사에서 지정한 표지여야 합니다.

개정 이력: 버전, 개정 설명, 개정 날짜, 개정 사람, 검토 시간 검토자 등을 포함한 테이블 형식이 더 좋습니다.

인터페이스 정보: 인터페이스 호출 방법, 일반적으로 사용되는 GET/POST 방법, 인터페이스 주소

기능 설명: 인터페이스 기능을 간결하고 명확하게 설명합니다. 예를 들어 인터페이스 획득에 포함되지 않은 정보는 무엇입니까?

인터페이스 매개변수 설명: 각 매개변수는 대소문자를 포함하여 실제 호출과 동일해야 하며 매개변수의 의미는 간결하게 설명되고 형식은 문자열, int 또는 long 등입니다.

            설명 부분에서 매개변수 값을 제공해야 하는 위치를 설명하고 매개변수가 생성되는 방법(예: 타임스탬프, 기간, 매개변수 필수 여부, 일부 매개변수는 필수 매개변수, 일부 매개변수는 선택적 매개변수)을 자세히 설명합니다. , 등.;

반환 값 설명:

① 템플릿 반환 값을 갖고 각 반환 매개 변수의 의미를 설명하는 것이 가장 좋습니다.

② 실제 호출 인터페이스 및 실제 반환 값을 제공합니다.

통화 제한, 보안 측면:

암호화 방법 또는 회사의 특수 암호화 프로세스는 양 당사자가 일관된 암호화 알고리즘을 채택하는 한 공통 md5와 같은 인터페이스 호출의 보안을 보장하기 위해 인터페이스를 호출할 수 있습니다.

문서 유지 : 문서를 유지하고 있을 때 수정 사항이 있는 경우 수정 날짜와 수정한 사람을 기록하고 주요 수정 사항에 대해서는 버전 번호를 변경해야 합니다.

9. 기타 관련 지식?

get 요청과 post 요청의 차이점:

1. GET은 URL 또는 쿠키를 사용하여 매개변수를 전달합니다. POST는 데이터를 BODY에 넣습니다.
2. GET의 URL은 길이 제한이 있으며 POST의 데이터는 매우 클 수 있습니다.
3. POST는 데이터가 주소 표시줄에 표시되지 않기 때문에 GET보다 안전합니다.
4. 일반적으로 get 요청은 데이터를 얻기 위해 사용되며, post 요청은 데이터를 전송하기 위해 사용됩니다.
사실 위의 포인트 중에서 마지막 포인트만 더 신뢰가 갑니다.첫 번째 포인트는 post 요청도 url에 데이터를 넣을 수 있다는 것입니다.get 요청은 실제로 길이 제한이 없습니다.post 요청은 암시적 매개 변수가 있는 것 같습니다. .조금 더 안전하지만 초보유저들에게만 해당되는 사항이고 요청글을 올려도 패킷을 캡쳐해서 파라미터 캡쳐가 가능합니다. (유일한 차이점은 이것뿐, 위 3가지 사항은 정확하지 않음)

http 상태 코드:

처음에 1, 200, 2는 모두 요청이 성공적으로 전송되었음을 나타냅니다. 가장 일반적인 것은 200이며 요청이 정상이며 서버가 반환되었음을 의미합니다.
2. 300과 3으로 시작하는 것은 리디렉션을 나타내며 가장 일반적인 것은 요청을 다른 곳으로 리디렉션하는 302입니다.
3. 400 400은 클라이언트가 보낸 요청에 문법 오류가 있음을 의미하고, 401은 액세스한 페이지가 승인되지 않았음을 의미하고, 403은 이 페이지에 액세스할 수 있는 권한이 없음을 의미하고, 404는 해당 페이지가 없음을 의미합니다.
4. 5 앞의 500은 서버에 예외가 있음을 의미하고 500은 내부 서버 예외를 의미하며 504는 서버가 시간 초과되어 결과가 반환되지 않음을 의미합니다.

웹 서비스 인터페이스를 테스트하는 방법:

메시지 철자를 요구하지 않고 웹 서비스 주소 또는 wsdl 파일을 제공하고 soapui에서 직접 가져옵니다. 웹 서비스의 모든 인터페이스를 볼 수 있으며 메시지도 있습니다. 매개 변수를 직접 채우고 호출하고 반환 결과를 확인합니다.
일기 예보 wsdl 주소: http://www.webservicex.net/globalweather.asmx?wsdl

쿠키와 세션의 차이점:

1. 쿠키 데이터는 클라이언트의 브라우저에 저장되고 세션 데이터는 서버에 저장됩니다.

2. 쿠키는 그다지 안전하지 않습니다. 다른 사람이 로컬에 저장된 쿠키를 분석하고 속일 수 있습니다.

보안을 고려하여 세션을 사용해야 합니다.

3. 세션은 일정 기간 동안 서버에 저장됩니다. 방문 횟수가 증가하면 서버의 성능을 차지하게 됩니다.

서버 성능 저하를 고려하여 쿠키를 사용해야 합니다.

4. 하나의 쿠키가 저장하는 데이터는 4K를 초과할 수 없으며, 많은 브라우저는 한 사이트에서 최대 20개의 쿠키를 저장하도록 제한합니다.

5. 제 개인적인 제안:

로그인 정보 및 기타 중요 정보를 세션으로 저장
기타 정보는 필요한 경우 쿠키에 저장할 수 있습니다.

Postman 인터페이스 테스트 비디오 자습서:

2023 전체 인터넷 컨퍼런스, 스테이션 B에서 가르치는 가장 상세한 Postman 인터페이스 테스트 실용 교육, 초보자는 배울 수 있습니다_哔哩哔哩_bilibili icon-default.png?t=N4HBhttps://www.bilibili.com/video/BV16L41117wB/?spm_id_from=333.999.0.0&vd_source= 6e2d6c374fd551babe1ac6a5e60c5a75

 

 

추천

출처blog.csdn.net/MXB1220/article/details/130755183