simple guide interoperability testing
기술을 이해하기 전에 '상호 운용성 테스트' , 먼저 '상호 운용성'이라는 용어를 이해하겠습니다.
상호 운용성은 한 시스템이 다른 시스템과 상호 작용하는 기능입니다. 이 상호 작용은 서로 다른 두 시스템 또는 서로 다른 두 응용 프로그램간에 모두 함께 이루어집니다.
네트워킹 인터뷰 질문 및 답변 pdf
많은 경우 상호 운용성이 혼동됩니다. 완성 , 호환성 및 이식성. 음,이 기술들 사이에는 차이점이 있습니다.
먼저 차이점을 설명하는 것으로 시작하겠습니다.
완성 – 동일한 시스템의 구성 요소가 서로 상호 작용하는 기술입니다. 따라서 테스트 세계에서 통합 테스트를 수행 할 때 실제로 동일한 시스템에서 가장 낮은 수준의 구성 요소 2 개 이상 동작을 테스트합니다.
적합성 – 둘 이상의 응용 프로그램이 동일한 환경에서 상호 작용하는 기술입니다. 그래서 테스트 세계에서 호환성 테스트를 할 때; 2 개 이상의 애플리케이션 또는 시스템이 동일한 환경에서 예상대로 작동하는지 확인합니다.
여기서의 목적은 두 시스템이 동일한 환경에서 서로 간섭하지 않고 예상되는 작업을 수행하는지 확인하는 것입니다. 유사 – MS Word와 Calculator는 서로 다른 두 가지 응용 프로그램이며 동일한 운영 체제에서 예상되는 동작을 독립적으로 수행합니다. 그래서 우리는이 두 응용 프로그램이 서로 호환된다고 말합니다.
휴대 성 – 응용 프로그램 또는 시스템이 다른 환경으로 이동할 때 예상대로 작동하는 기술입니다. 그래서 휴대 성 테스트를 통해 애플리케이션을 다른 환경으로 내보내고 동작을 테스트합니다. 마찬가지로 Windows XP에서 잘 작동하는 응용 프로그램이 있으면 Windows 10에서도 잘 작동합니다.
상호 운용성 – 응용 프로그램이 다른 응용 프로그램과 상호 작용하는 방법입니다. 따라서 상호 운용성 테스트를 수행 할 때 한 응용 프로그램의 데이터가 사전 암시없이 의미있는 방식으로 다른 응용 프로그램으로 전송되는 방식을 확인하고 수용된 출력을 제공하기 위해 추가로 처리합니다.
이 문서는 상호 운용성 테스트 (IOT)에 초점을 맞추고 있으므로 상호 운용성에 초점을 맞추도록하겠습니다. :)
학습 내용 :
상호 운용성 테스트 – 간략한 소개
상호 운용성 = 상호 + 운용 가능
인터 – '자신 사이', '서로 안에', '상호'를 의미합니다.
실시 가능한 – '주어진 작업을 수행 할 수있는 능력'을 의미합니다.
따라서 두 용어를 함께 결합하면 상호 운용성은 할당 된 작업을 독립적으로 수행 할 수 있고 개별 할당 기능에 영향을주지 않고 예상대로 서로 통신 할 수있는 2 개 이상의 시스템을 의미합니다.
예 1 :항공편 예약의 예를 들어보십시오. 뉴 델리에서 뉴욕으로 여행해야한다고 생각하십시오. 지금은 직항편이 없습니다. 뉴 델리에서 런던까지 여행 한 다음 런던에서 뉴욕까지 연결 항공편을 이용해야합니다. 시간 제약이 있기 때문에 'Jet Airways'항공에서는 뉴 델리에서 런던으로, 'Virgin Atlantic'에서는 런던에서 뉴욕으로 항공편을 예약합니다. 즉, 모든 승객 세부 정보가 Jet Airways에서 Virgin Atlantic으로 이동했습니다. 따라서 여기에서 Jet Airways와 Virgin Atlantic은 모두 독립적 인 응용 프로그램이며 항공편을 예약하는 동안 예약 세부 정보가 Jet Airways에서 Virgin Atlantic으로 사전 통보없이 완전한 방식으로 교환되었습니다.
예 2 :비슷한 맥락에서 환자의 기록이 한 부서에서 다른 부서로 교환되는 병원 관리 시스템을 생각해보십시오. 따라서 여기서 부서를 응용 프로그램에 연결할 수 있습니다. 환자의 세부 사항은 사전 통지없이 하나의 응용 프로그램간에 다른 응용 프로그램으로 교환됩니다.
그렇다면 왜 우리는 IOT를해야합니까?
상호 운용성 테스트를 수행하여
- 네트워크의 애플리케이션은 예상되는 동작을 독립적으로 수행합니다.
- 사전 예고없이 정보 교환 가능
- 개인의 예상 행동을 방해하지 않고 정보 / 데이터 교환
- 교환되는 데이터 / 정보는 수정 또는 변경되지 않습니다.
상호 운용성 테스트는 어떻게하나요?
Deeming wheel (PDCA주기)을 따라 상호 운용성 테스트를 수행 할 수 있습니다.
# 1) 계획
계획은 소프트웨어 개발에서 거의 모든 것을 수행하는 전략을 결정하는 가장 중요한 단계입니다. IOT를 수행하는 절차를 결정하기 위해 실제로 계획하기 전에 네트워크에 배포 된 모든 애플리케이션 또는 시스템을 이해하는 것이 중요합니다.
우리는 모든 응용 프로그램에 대해 알아야합니다. 기능, 동작, 입력 및 출력이 표시합니다.
자바에서 일반 배열을 초기화하는 방법
또한 상호 운용성 테스트를 준비하기 전에 각각의 모든 애플리케이션이 결함없이 완전히 기능적으로 테스트되는 것이 좋습니다. 따라서 계획 할 때 하나 또는 두 개의 응용 프로그램을 생각하지 말고 모든 응용 프로그램을 하나의 단위로 생각하십시오. 이 테스트 기술을 계획 할 때 조감도가 필요합니다. 말할 필요도없이 계획을 문서화하십시오.
우리는 우리를 사용할 수 있습니다 표준 테스트 계획 문서 IOT 계획을 문서화하기위한 요구 사항에 따라 약간 조정합니다. 테스트 계획이 수립 된 후 테스트 조건을 도출하십시오.
테스트 조건을 도출하는 데 초점이 개별 애플리케이션에만 국한되어서는 안됩니다. 대신 모든 애플리케이션을 통한 데이터 흐름을 기반으로해야합니다. 조건은 전부는 아니지만 네트워크에있는 대부분의 응용 프로그램이 순회되는 방식으로 설계되어야합니다.
테스트 조건이 식별되면 테스트 케이스를 디자인하거나 스크립트 (자동화하려는 경우)로 이동하십시오. 당신은 할 수 있습니다 RTM 생성 (요구 사항 추적 성 매트릭스)는 테스트 케이스를 테스트 조건으로 매핑하고 테스트 조건을 수락 테스트 조건 / 요구 사항으로 매핑합니다.
네트워크에서 작업 할 때 비 기능 테스트 활동도 계획하는 것이 중요합니다. 이것은 어디에도 작성되거나 문서화되지 않을 수 있지만 시스템 전체의 비 기능적 측면을 확인하는 것은 필수입니다. 이러한 비 기능 영역에는 성능 및 보안이 포함됩니다. 필요한 경우 기능 테스트, 성능 테스트 및 보안 테스트를위한 별도의 계획을 만들 수 있습니다. 또는 이러한 각 테스트 유형에 대해 단일 계획 및 테스트 조건의 다른 문서를 생성합니다.
# 2) 할
Do – 실제로 실행하는 시간입니다. 기능 및 비 기능 테스트를 실행하기 위해 시간을 적절히 계획하십시오. 사례 실행, 결함 기록, 문제 해결을위한 개발 팀 후속 조치, 시스템 전체의 재 테스트 및 회귀 테스트 수행, 테스트 결과보고 및 이동의이 단계에서 테스트주기를 따릅니다. 폐쇄.
# 3) 확인
확인 – 테스트 결과를 다시 검토하고이를 RTM에 매핑하고 예상되는 모든 요구 사항이 충족되는지 그리고 모든 응용 프로그램이 통과되는지 여부를 확인하는 단계입니다. 데이터가 애플리케이션 / 시스템간에 정확하고 원활하게 이동되고 교환되는지 확인합니다. 또한 순회되는 데이터가 수정되지 않는지 확인해야합니다.
또한 상호 운용성 테스트의 전체 프로세스를 회고하는 것도 고려하십시오. 잘 작동 한 영역, 잘되지 않은 영역 및 처리해야 할 조치 항목을 식별하십시오.
# 4) 행위
행동 – 소급 항목에 대해 행동합니다. “우수 사례”로 확인 된 사항은 계속해서 실행하고 더 잘 작동 할 수있는 사항을 확인하고 그에 따라 조치를 취합니다. 잘 작동하지 않는 영역이나 단계를 반복해서는 안됩니다. 결국 우리는 실수로부터 배워야하고 반복해서는 안됩니다.
5 ½ 단계 :
- 네트워크의 일부인 모든 응용 프로그램을 식별합니다.
- 각각의 기능을 식별하십시오.
- 각 응용 프로그램에 대해 사용하는 입력과 반환하는 출력을 식별합니다.
- 모든 / 대부분의 애플리케이션을 통과 할 데이터를 식별합니다.
- 검증이 필요한 각 애플리케이션 및 날짜 조합에 대해 예상되는 동작 식별
½ 문서화하십시오.
아래 그림을 고려하십시오.
그림을 바탕으로 5 ½ 단계를 복제 해 보겠습니다.
- 애플리케이션 1, 애플리케이션 2, 애플리케이션 3 및 애플리케이션 4는 4 개의 서로 다른 시스템입니다.
- 이러한 각 시스템에는 식별해야하는 명확한 기능 세트가 있습니다.
- 각 시스템의 입력 및 출력을 식별해야합니다.
- Application1의 경우 2 개의 출력을 렌더링합니다. 1 출력은 애플리케이션 3의 입력을 형성하고 1 출력은 애플리케이션 2의 입력을 형성합니다. 애플리케이션 2의 출력은 애플리케이션 3 및 애플리케이션 4 등에 대한 입력을 형성합니다.
- 각 입력 및 출력에 대한 유효성이 확인됩니다. 여기서 고려해야 할 주요 사항은 입력 및 출력 형태로 이동하는 데이터가 수정되지 않고 모든 응용 프로그램이 포함된다는 것입니다.
½ 실생활에서의이 수치는 그렇게 단순하지 않은 것 같습니다. 이것은 실제로 n 개의 입력 및 출력 조건으로 더 복잡한 구조를 생성합니다.
이런 종류의 그림을 그리면 다른 시스템을 통과하는 데이터와 정보를 식별하는 데 더 나은 그림을 제공 할 수 있습니다. 이것은 우리가 테스트 조건과 사례를 도출하는 데 도움이 될 것입니다.
예:
'병원 관리 시스템'에 대한 상호 운용성 테스트를 수행하는 예를 살펴 보겠습니다.
병원은 아래 부서와 하위 부서로 구성됩니다.
여기서 각 부서는 그 자체로 응용 프로그램입니다. 각 부서 (응용 프로그램)에는 자체 하위 부서 (모듈)가 있고 각 모듈에는 자체 단위가 있습니다.
이제 IOT의 범위를 고려하기 위해 몇 가지 테스트 조건이 있습니다.
- 교통 사고 (OPD 부서 – 사고)를 당하고 다리 수술 (ENT – 일반 외과)을받은 후 물리 치료 (지원 부서 – 물리 치료)를받은 후 퇴원 (지원 부서 – 폐쇄)을받은 환자
- 중환자 실 (소아과 – 중환자 실)에 입원 한 아동은 수술 (소아과 / 이비인후과 – 일반 외과)을 거쳐 퇴원합니다 (지원 부서 – 폐쇄 / PR).
- 외부 환자는 일반 의사 (OPD 부서)와 상담합니다. 처방 된 약품 (지원 부서 – 약국)을 복용하고 자리를 떠납니다.
- 임산부가 정기 검진을 받고 (부인과 – 산모와 보육) 처방 된 약을 복용 (지원 부서 – 약국)하고 자리를 떠납니다.
- 치과 환자가 근관 (치과)을하고 처방 된 약을 복용 (지원 부서 – 약국)하고 자리를 떠납니다.
- OPD (일반의)에 입원하여 (산부인과 – 고위험 산과)에서 치료를받은 환자가 처방약 (지원과 – 약국)을 복용하고 퇴원합니다.
이렇게하면 모든 테스트 조건을 식별합니다. 대부분의 부서가 보장되어야 함을 명심하십시오.
범위를 다음과 같이 표시하기 위해 RTM을 그릴 수 있습니다.
이렇게하면 더 많은 테스트 조건을 식별하고 정확한 범위를보기 위해 RTM을 그릴 수 있습니다. 또한 RTM을 기반으로 테스트 노력의 깊이를 결정할 수 있습니다.
이 예에서와 같이 '지원 부서'는 모든 (대부분의) 응용 프로그램의 종료 지점 인 응용 프로그램이므로이 특정 응용 프로그램에 대한 테스트 노력은 다른 응용 프로그램에 비해 약간 더 많습니다.
과제 :
- 모든 순열 및 조합으로 모든 애플리케이션을 테스트하기가 어렵습니다.
- 응용 프로그램은 서로 다른 하드웨어 / 소프트웨어 조합으로 개발되고 서로 다른 환경에 설치되므로 환경이 다운되면 테스트에 영향을줍니다.
- 소프트웨어와 환경이 다르기 때문에 테스트 전략을 결정하고 실행하는 것 자체가 큰 작업입니다.
- 테스트를 수행하기위한 환경을 자극하는 것은 큰 도전입니다.
- 결함이있는 경우 근본 원인 분석을 수행하는 것은 큰 도전입니다.
- 응용 프로그램이 네트워크에 있기 때문에 네트워크가 다운되는 경우가 있습니다. 이 때문에 테스트도 영향을받습니다.
이러한 문제를 어떻게 완화 할 수 있습니까?
1) 다음과 같은 고급 테스트 기술을 사용해보십시오.
- OATS (직교 배열 테스트 기술)
- State Transition Diagrams, 상태 전이 다이어그램
- 원인 및 결과 그래프
- 등가 분할 및 경계 값 분석.
이러한 기술은 애플리케이션 간의 상호 종속성을 식별하고 최대 적용 범위를 보장하는 테스트 케이스 / 조건을 식별하는 데 도움이됩니다.
2) 시스템이 다운 된 상황, 다시 작동하는 데 걸리는 시간과 같은 기록 데이터를 식별하십시오. 이 경우 애플리케이션이 영향을받지 않는 시나리오를 실행하거나 시간을 활용하여 시나리오를 문서화하고 결과를보고하십시오. 또한 테스트를 계획하거나 예약 할 때마다 항상 이러한 과거 데이터를 추정을위한 입력으로 고려하고 그에 따라 계획하십시오.
삼) 계획 - 과거 데이터, 과거 경험, 팀의 기술, 환경 요인을 사용하여 테스트 전략을 식별합니다. 계획이 좋을수록 실행도 더 좋아집니다.
4) 실제 실행이 시작되기 훨씬 전에 환경 준비 작업을 시작하십시오. 말할 필요도없이 환경을 준비 할 때 단계를 계획하십시오. 실행이 시작될 때 환경이 모두 설정되고 준비되어 있고 실행 중인지 확인하십시오.
5) IOT를 시작하기 전에 개별 애플리케이션이 결함없이 완전히 기능적으로 테스트되었는지 확인하십시오. 그런 다음 결함이있는 경우 일부 오류를 일으킨 환경 요인 만 찾으면됩니다.
6) 포인트 2에서 논의한대로 활동을 계획하십시오. 예정된 중단 인 경우 테스트를 계획 할 때이 다운 타임을 고려해야합니다.
모바일 상호 운용성 테스트 :
모바일에서는 새로운 앱 ( 모바일 애플리케이션 )이 시작됩니다. 모바일 장치에서이 테스트를 계획 할 때 고려해야 할 많은 영역이 있습니다.
- 시장에서 구할 수있는 모바일 장치의 유형은 엄청납니다. 테스트를 위해 고려할 모든 유형의 장치를 나열해야합니다. 지원하는 OS와 함께 장치 유형을 페어링해야합니다.
- 모든 모바일 OS는 다른 프로그래밍 언어로 개발되었습니다. 따라서 앱은 OS의 모든 변형에 대해 테스트해야합니다.
- 법적 요인 및 지역 관련 계약 이해.
- 다른 장치의 크기 / 해상도는 다릅니다.
- 모바일 내장 앱에 미치는 영향도 고려해야합니다.
따라서 모바일에서 IOT를 수행하려면 컴퓨터 기반 애플리케이션 테스트에서했던 것처럼 RTM을 계획하고 생성해야합니다.
의도, 전략, 위험 및 실행은 동일하지만 도구 및 기술 휴대폰의 경우는 다를 수 있습니다.
결론:
상호 운용성 테스트는 엄청난 작업입니다. 이 기술에는 시스템 테스트 계획이 시작될 때 병렬로 시작되어야하는 적절한 계획이 필요합니다.
이 기술을 실행하는 동안 고려해야 할 요소가 많이 있습니다. 버그 수정 및 재 테스트를위한 충분한 시간이 있다는 점을 명심하십시오. 이는 결함 후속 조치를 제공해야하는 엄청난 노력이기 때문입니다.
100 % 달성하지 못할 수도 있습니다. 적용 범위 그러나 우리는 좋은 테스트 케이스 작성 기술을 사용하여 대부분의 애플리케이션이 단일 흐름으로 처리되는 방식으로 케이스를 선택할 수있을만큼 똑똑해야합니다.
bin 파일을 마운트하는 방법
이 기사가 상호 운용성 테스트 기술을 이해하는 데 도움이 되었기를 바랍니다. 귀하의 질문 / 의견을 알려주십시오.