0에서 1까지 능숙, Python 인터페이스 자동화 테스트, 고급 테스트 방법...


머리말

Python 인터페이스의 자동 테스트를 구현하는 방법은 무엇입니까?

1. 인터페이스

패킷 캡처 도구: fiddler charles
인터페이스 도구: postman jmeter
인터페이스 암호화 및 복호화, 인터페이스 인증
인터페이스 서명, Dubbo Ws 등

2. API 자동화 테스트(인터페이스 테스트)

인터페이스란 무엇입니까:
인터페이스: 데이터 상호 작용을 실현하기 위해 특정 프로토콜을 기반으로 하는 사물의 두 상호 작용 지점인 시스템에서 제공하는 서비스 형태입니다.

네트워크 프로토콜에 따라 전송되어야 합니다.
요청이 전송되고 네트워크 프로토콜에 따라 전송되며 응답 결과를 얻고 최종 인터페이스 상호 작용이 형성됩니다. URL은
필요한 인터페이스를 지정하는 것과 같습니다. 접근;

예:
WeChat 결제의 내부 인터페이스(두 개의 서로 다른 계정 간의 데이터 상호 작용)
UnionPay 결제의 타사 인터페이스(WeChat 시스템과 은행 시스템 간의 데이터 상호 작용)

인터페이스 테스트의 의의:
가능한 한 빨리 테스트에 개입,
프런트엔드 검증이 필요하고 백엔드에는 두 가지 테스트가 필요하다---->테스트 범위를 늘림; 인터페이스
테스트는 정상적으로 테스트할 수 없음 프런트 엔드는 테스트에서 더 잘 다룰 수 있습니다.

3. Python+Requests 라이브러리 기반 인터페이스 테스트

요청 라이브러리는 HTTP 네트워크 프로토콜에서 인터페이스 테스트 통신에 적합하며
모든 인터페이스 테스트는 인터페이스 문서를 기반으로 구현되며
비즈니스는 인터페이스 테스트의 핵심입니다. 모든 인터페이스 개발 및 테스트 전에 비즈니스를 이해해야 합니다.
모든 매개변수와 전달 방법은 디자인을 기반으로 정의됩니다.

시스템에서 여러 번 인터페이스가 서로 상호 작용하고 연결됩니다.

4. 요청 프레임워크

요청은 자동화된 테스트 프레임워크 중 하나이며 Python으로 구현된 가장 간단하고 사용하기 쉬운 HTTP 요청 및 전송이며 Python의 타사 라이브러리에 속합니다.

Python 내부 라이브러리 unittest 로깅 os...(설치 필요 없음)
python 타사 라이브러리 jsonpath...(설치 필요)
로컬 설치: pip 설치 요청

4. 자동화된 테스트 프레임워크(핵심 기술)

프로그래밍 언어인 Python java에 익숙함,
일반적으로 사용되는 자동화 테스트 프레임워크 애플리케이션: 세 가지 주요 플랫폼 웹 + 인터페이스 + 앱, 원칙 + 애플리케이션, 디자인 개념;
효율성을 극대화하기 위해 랜딩 자동화 테스트 프레임워크 웹 + 인터페이스 + 앱 구축;
두 번째 개발 공통 프레임워크, 공용 데이터의 글로벌 구성, 로그 수집, 데이터 종속성, 사용 사례 관리

랜딩 자동화 프레임워크: (postman jmeter 도구와 유사):
사용 용이성: 코드를 이해하지 못하는 사람도 유스 케이스 데이터 구성 데이터를 유지하고 채울 수 있음 낮은 유지 비용 효율성
: 분산 통합 프레임워크 코어 패키지 설계
다양성: 모든 프로젝트 공통

5. 요청 코드 구성을 구현하기 위한 인터페이스 문서 결합

프로젝트 인터페이스 문서 해석
계획 인터페이스 자동화 테스트 프로세스
프로젝트 비즈니스-인터페이스 문서-인터페이스 사용 사례-python 스크립트-pytest 프레임워크-디버깅 및 실행-Allure 보고서-결과 분석

엑셀 사용 사례, yaml 사용 사례, json 사용 사례

인터페이스 아키텍처:
비즈니스 계층, 사용 사례 계층, 데이터 계층, 실행 계층, 장치 계층 - 앱 자동화 테스트, 구성 계층, 로그 계층, 보고서, 빌드 인터페이스 요청 Python 코드

6. Python 인터페이스 자동화 테스트 기술을 마스터하십시오.

파이썬을 사용하여 인터페이스 자동화 테스트를 수행하는 것은 매우 간단합니다.파이썬을 시작하는 것은 매우 간단합니다.짧은 기간의 학습 후에 자동화 테스트를 수행할 수 있지만 다음 지식을 마스터해야 합니다.

HTTP 이해, Fiddler 사용법 배우기, Python 기본, Python 데이터 유형, 함수, 모듈, 클래스에 익숙함, 모의 서비스

요청, json, configobj, pyyaml ​​등과 같이 일반적으로 사용되는 Python 모듈에 익숙하고
unittest, pytest, nose 등과 같은 Python 단위 테스트 프레임워크에 익숙하고
Python 작업 데이터베이스 방법에 익숙하고

7. 지속적인 통합

매일 프로젝트를 열고 테스트를 실행하는 것은 매우 번거로울 것입니다.해결책은 Jenkins를 지속적으로 통합하고 빌드를 클릭하고 자동으로 테스트를 완료하는 것입니다.매일 프로젝트의 품질 상태 및 품질 보고서를 볼 수 있습니다.

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

프로세스 측면에서: 회귀 단계에서 인터페이스 예외 시나리오의 적용 범위가 강화되고 점차 시스템 테스트 및 스모크 테스트 단계로 확장되어 최종적으로 전체 프로세스 자동화를 달성합니다.
결과 표시: 보다 풍부한 결과 표시, 추세 분석, 품질 통계 및 분석 등.
문제 위치: 오류 정보 및 로그가 더 정확하여 문제 재발 및 위치 찾기가 용이합니다.
결과 검증: 데이터베이스 정보 검증 등 자동 검증 기능 강화
코드 적용 범위: 코드 적용 범위를 개선하기 위해 현재 블랙 박스에서 화이트 박스로 지속적으로 드롭을 시도합니다.
성능 요구 사항: 성능 테스트 시스템을 개선하고 자동화된 수단을 통해 인터페이스 성능 지표가 정상인지 모니터링합니다.

다음은 내가 컴파일한 2023년에 가장 완벽한 소프트웨어 테스트 엔지니어 학습 지식 아키텍처 시스템 다이어그램입니다.

1. Python 프로그래밍 입문부터 숙달까지

사진 설명을 추가해주세요

2. 인터페이스 자동화 프로젝트 실전

사진 설명을 추가해주세요

3. 웹 자동화 프로젝트의 실전

사진 설명을 추가해주세요

4. 앱 자동화 프로젝트의 실전

사진 설명을 추가해주세요

5. 1차 제조사 이력서

사진 설명을 추가해주세요

6. DevOps 시스템 테스트 및 개발

사진 설명을 추가해주세요

7. 일반적으로 사용되는 자동화 테스트 도구

사진 설명을 추가해주세요

여덟, JMeter 성능 테스트

사진 설명을 추가해주세요

9. 요약(마지막에 약간의 놀라움)

비바람을 겪지 않고는 무지개를 보기 어렵고, 고난을 겪지 않고서는 자라기 어렵다. 투쟁은 성공의 촉매제입니다 적극적으로 도전하고 지속적으로 진보를 추구해야만 고치에서 벗어나 나비가 되어 높이 날 수 있습니다. 당신의 잠재력을 믿고, 여행을 떠나 당신만의 멋진 전설을 만드세요!

시간은 짜임새 같고 시간은 흐르고 바람과 비를 거치지 않고 어떻게 무지개를 볼 수 있습니까? 투쟁은 땀뿐만 아니라 내면의 힘의 해방입니다. 초심에 충실하고 자신을 뛰어넘어 열심히 노력해야만 우리만의 빛을 만들어낼 수 있습니다.

투쟁의 무대에서는 족쇄를 끊기로 결심하고, 역경 속에서 믿음은 앞길을 밝힙니다. 투쟁은 순간적인 열정이 아니라 끈질긴 노력이다. 모든 투쟁은 수확의 씨앗입니다.당신이 용기를 갖고 탁월함을 추구하는 한, 성공과 성취는 당신과 함께 찬란한 삶을 창조할 것입니다.

추천

출처blog.csdn.net/x2waiwai/article/details/131939842