what is reliability testing
신뢰성 테스트 란 무엇입니까?
소프트웨어 테스트 이력서 샘플 2 년 경험
신뢰성은 특정 환경에서 지정된 기간 동안 소프트웨어 작동에 오류가 없을 확률로 정의됩니다.
신뢰성 테스트는 소프트웨어의 신뢰성을 확인하기 위해 수행되며 주어진 환경에서 지정된 시간 동안 소프트웨어가 만들어진 목적을 충족하며 오류없이 작동 할 수 있는지 확인합니다.
이 기계화 된 세상에서 사람들은 요즘 어떤 소프트웨어라도 맹목적으로 믿습니다. 소프트웨어 시스템이 어떤 결과를 보여 주든, 사람들은 소프트웨어가 항상 정확할 것이라고 믿고 따릅니다. 사실 그것은 우리 모두가하는 일반적인 실수입니다.
사용자는 표시된 데이터가 정확하다고 생각하며 소프트웨어는 항상 올바르게 작동합니다. 여기에서 신뢰성 테스트가 필요합니다.
ANSI에 따르면 소프트웨어 신뢰성은 특정 환경에서 지정된 기간 동안 소프트웨어 작동에 오류가 없을 확률로 정의됩니다.
소프트웨어 제품이 지정된 환경에서 특정 기간 동안 오류없이 작동하는 경우이를 신뢰할 수있는 소프트웨어라고합니다.
소프트웨어 안정성은 소프트웨어 개발 중 오류를 줄여줍니다. 전자 장치 또는 기계 기기에서 소프트웨어는 '마모'를 가질 수 없습니다. 여기서 '마모'는 소프트웨어 시스템의 '결함'또는 '버그'로 인해 발생합니다.
추천 읽기 => 버그를 찾는 팁과 요령
학습 내용 :
신뢰성 테스트 란 무엇입니까?
오늘날 세계에서 소프트웨어 애플리케이션은 의료, 정부 부문, 통신 등 우리 삶의 모든 측면에서 사용되고 있습니다.
따라서 사용자가 신뢰할 수있는 정확한 데이터가 필요합니다. 신뢰성 테스트는 소프트웨어의 품질 및 제품의 표준화와 관련이 있습니다. 테스트 케이스를 반복 할 수 있고 동일한 결과를 지속적으로 얻을 수 있다면 제품은 '신뢰성'이라고합니다.
신뢰성 테스트는 소프트웨어의 신뢰성을 확인하기 위해 수행되며 주어진 환경에서 지정된 시간 동안 소프트웨어가 만들어진 목적을 충족하며 오류없이 작동 할 수 있는지 확인합니다.
신뢰성 테스트는 언제 사용합니까?
이 테스트를 사용하는 시나리오는 다음과 같습니다.
- 시스템에 존재하는 결함과 그 원인을 찾습니다.
- 시스템의 품질을 보장합니다.
테스트 케이스는 소프트웨어의 전체 범위를 보장하는 방식으로 설계되어야합니다. 테스트 케이스는 현재 결과와 이전 결과를 교차 확인하고 차이가 있는지 확인할 수 있도록 정기적으로 실행되어야합니다. 동일하거나 유사한 결과가 나타나면 소프트웨어를 신뢰할 수있는 것으로 간주 할 수 있습니다.
또한 특정 시간 동안 테스트 케이스를 실행하여 신뢰성을 테스트하고 특정 시간이 지나도 실패없이 결과가 올바르게 표시되는지 확인할 수 있습니다. 안정성 테스트를 수행하는 동안 메모리 누수, 배터리 부족, 네트워크 부족, 데이터베이스 오류 등과 같은 환경 제약 조건을 확인해야합니다.
소프트웨어의 신뢰성을 측정하는 기본 유형
아래에 나열된 것은 소프트웨어 신뢰성을 측정하는 몇 가지 기본 유형입니다.
1) 테스트-재 테스트 신뢰성
오전 9시 30 분에 기능을 테스트하고 오후 1시에 동일한 기능을 다시 테스트하는 다음 상황을 고려하십시오. 나중에 두 결과를 비교합니다. 우리는 결과에서 높은 상관 관계를 얻고 있습니다. 그러면 테스트가 '신뢰성'이라고 말할 수 있습니다. 일반적으로 신뢰도 0.8 이상은 시스템이 매우 안정적인 제품으로 간주 될 수 있음을 의미합니다.
여기서 테스트 케이스에 10 개의 단계가있는 경우 테스트의 길이는 동일하게 유지되고 다음 번에 테스트를 수행하기 위해 단계 수가 동일하게 유지된다는 점에 유의하는 것이 매우 중요합니다.
특정 고려 예 'IQ 테스트'에 참석하고 144 점을받은 사람의 6 개월 후 같은 'IQ 테스트'를 치르고 68 점을 얻었습니다. 그러한 경우 그는 '신뢰할 수있는'출처로 간주 될 수 없습니다.
2) 병렬 또는 대체 형태의 신뢰성
테스터가 동시에 두 가지 형식으로 테스트를 수행하기 때문에 그렇게 불립니다.
3) 평가자 간 신뢰성
Inter-Rater Reliability는 Inter-Observer 또는 Inter-Coder Reliability라고도합니다. 여러 평가자 또는 심사 위원으로 구성된 특별한 유형의 신뢰성입니다. 다른 평가자 / 관찰자가 제시 한 평가의 일관성을 다룹니다.
예를 들어 , 노래 경쟁에 참여하고 여러 심사 위원으로부터 9,8,9 (10 점 만점)을 획득 한 참가자를 고려하십시오. 이 점수는 상당히 일관 적이기 때문에 '신뢰할 수있는'것으로 간주 될 수 있습니다. 그러나 그가 9,3,7 점 (10 점 만점)을 기록했다면 그것은 '신뢰성'으로 간주 될 수 없습니다.
노트 : 이러한 등급은 여러 심사 위원 / 평가자 간의 일반적인 합의에 따라 크게 달라집니다. 일련의 관찰이 완료되면 점수 전반에 걸쳐 일종의 안정성이 있는지 결정할 수 있으며 그 기간이 지나면 일관성이 있다고 말할 수 있습니다.
따라서 점수 안정성은 여러 관찰자에 대한 측정입니다. 평가자 간 신뢰도를 논의 할 때 관찰자의 기술도 중요한 역할을한다는 점에 유의하는 것이 매우 중요합니다. 평가자 간 신뢰도를 높이려면 평가자에게 교육이나 적절한 지침이 필요합니다.
위의 Excel 시트를 고려하고 12 개의 항목에 대해 두 명의 다른 평가자 Rater1 및 Rater2가 제공 한 평가를보십시오. Rater1은 스코어링 보드에서 독립적으로 등급을 매겼습니다. 여기서는 점수 판을 사용하여 두 평가자 간의 동의 비율을 계산합니다. 이를 평가자 간 신뢰도 또는 두 평가자 간의 평가자 간 합의라고합니다.
세 번째 열에는 평가자가 입력 한 점수가 일치하면 '1'을 입력합니다. 점수가 일치하면 '0'을줍니다. 그런 다음 열에서 숫자 '1'과 '0'을 찾습니다. 여기는 8입니다.
‘1’수 = 8
총 항목 수 = 12
동의 비율 = (8/12) * 100 = 67 %. 67 %는 그렇게 많지 않습니다. 평가자는 그에 따라 결과를 논의하고 개선 할 수 있도록 더 많은 동의를 얻어야합니다.
다양한 유형의 신뢰성 테스트
다양한 유형의 신뢰성 테스트는 참조 용으로 아래에서 설명합니다.
MP4 형식으로 YouTube 비디오 변환기
1) 기능 테스트 :
이 테스트는 적합성을 결정합니다. 즉, 애플리케이션이 들여 쓰기 된 용도에 대해 예상대로 수행되는지 테스트합니다. 여기서는 다른 구성 요소 및 응용 프로그램과 상호 작용하는 시스템과 함께 테스트하기 위해 응용 프로그램의 상호 운용성을 확인합니다.
시스템의 정확성을 보장하여 버그가 없는지 확인합니다. 베타 테스트 .
이 외에도 일종의 보안 및 규정 준수를 테스트합니다. 보안 테스트 의도적으로 또는 의도하지 않은 응용 프로그램에 대한 무단 액세스를 방지하는 것과 관련이 있습니다. 규정에 따라 애플리케이션이 표준, 규칙 등과 같은 특정 기준을 따르는 지 확인합니다.
2) 부하 테스트
부하 테스트 경쟁 시스템 또는 성능과 비교할 때 시스템 성능을 확인합니다. 또한 시스템을 사용하는 동시 사용자 수와 사용자에 대한 시스템 동작을 기반으로합니다.
시스템은 더 짧은 응답 시간 (예 : 5 초)으로 사용자 명령에 응답하고 사용자 기대치를 충족해야합니다.
3) 회귀 테스트
에 회귀 테스트 , 우리는 시스템이 잘 작동하는지 그리고 소프트웨어에 새로운 기능을 추가 한 결과 버그가 없는지 확인합니다. 버그가 수정되고 테스터가 다시 테스트해야 할 때도 수행됩니다.
신뢰성 테스트 계획
SDLC (소프트웨어 개발 수명주기)의 여러 단계에서 사용자는 '신뢰할 수 있는지 여부'와 같은 제품의 미래에 대한 많은 질문이 제기 될 수 있습니다. 그러한 질문에 대한 명확한 해결책이 필요합니다. 적절한 모델을 사용하면 제품을 예측할 수 있습니다.
두 가지 유형의 모델은 다음과 같습니다.
- 예측 모델
- 추정 모델
예측 테스트에서는 과거 데이터, 통계, 기계 및 학습을 통해 결과를 예측합니다. 우리에게 필요한 것은 보고서를 작성하는 것입니다. 예측 모델에서는 일부 과거 정보 만 얻습니다. 이 정보를 사용하여 산점도를 구성하고 기존 기록 데이터에 대한 외삽 선을 그릴 수 있으며 향후 데이터를 예측할 수 있습니다.
이러한 유형의 모델은 개발 또는 테스트 단계 자체 전에 수행됩니다. 추정 테스트에서는 과거 데이터를 사용하는 것 외에도 현재 데이터를 사용합니다. 여기서 우리는 현재 또는 미래에 제품의 신뢰성을 예측할 수 있습니다. 이 유형의 테스트는 마지막 단계에서 수행됩니다. 소프트웨어 개발 수명주기 .
신뢰성 테스트 도구
테스터는 소프트웨어의 신뢰성 추정치를 결정해야합니다. 이로 인해 소프트웨어 안정성에서 다양한 도구를 사용할 수 있습니다.
표준화 된 도구를 사용하여 다음을 수행 할 수 있습니다.
- 실패 정보를 감지하십시오.
- 소프트웨어에 대한 예측을 위해 올바른 모델을 선택하십시오.
- 실패에 대한 보고서를 생성합니다.
소프트웨어 신뢰성 측정을 위해 시장에서 사용할 수있는 다양한 도구가 있으며 그중 일부는 아래에 언급되어 있습니다.
CASRE (Computer Aided Software Reliability Estimation Tool) : 이것은 프리웨어가 아니므로 구매해야합니다.
CASRE 신뢰성 측정 도구는 소프트웨어 제품의 신뢰성을 더 잘 평가하는 데 도움이되는 기존 신뢰성 모델을 기반으로 구축되었습니다. 도구의 GUI는 소프트웨어 신뢰성에 대한 더 나은 이해를 제공하며 사용하기 매우 쉽습니다.
테스트 중에 사용자가 일련의 장애 데이터를 사용하는 동안 시스템의 신뢰성이 증가하는지 감소 하는지를 알아내는 데 도움이됩니다. Carse는 테스트 간격 시간에 대한 실패 횟수를 플로팅하여 2D보기를 제공하므로 사용자는 아래 그림과 같이 시스템을 나타내는 그래프를 얻을 수 있습니다.
CASRE 사용
- 사용자는 실패 데이터를 선택할 수 있습니다.
- 앞으로 얼마나 먼지를 지정하여 제품의 신뢰성을 예측하고자합니다.
- 신뢰성 모델을 선택하십시오.
- 결과에 적합한 모델을 선택하십시오.
- 실패 결과를 인쇄하십시오.
- 결과를 디스크에 저장하십시오.
신뢰성 테스트에 사용되는 다른 도구는 다음과 같습니다. 소프 렐 , SoRel (Software Reliability Analysis and Prediction), WEIBULL ++ 등
결론
신뢰성 테스트는 다른 형태의 테스트와 비교할 때 비용이 많이 듭니다. 따라서 비용 효율적으로 수행하려면 적절한 테스트 계획 및 테스트 관리.
SDLC에서 신뢰성 테스트는 중요한 역할을합니다. 위에서 설명한 것처럼 안정성 메트릭을 사용하면 소프트웨어에 안정성을 제공하고 소프트웨어의 미래를 예측할 수 있습니다. 많은 경우 소프트웨어의 복잡성이 높으면 소프트웨어 안정성을 얻기가 어렵습니다.
추천 도서
- 최고의 소프트웨어 테스트 도구 2021 (QA 테스트 자동화 도구)
- 소프트웨어 테스팅 QA 어시스턴트 작업
- 소프트웨어 테스팅 과정 : 어떤 소프트웨어 테스팅 기관에 가입해야합니까?
- 경력으로 소프트웨어 테스트 선택
- 소프트웨어 테스팅 기술 콘텐츠 작성자 프리랜서 작업
- 응용 프로그램 테스트 – 소프트웨어 테스트의 기초로!
- 회귀 테스트 란 무엇입니까? 정의, 도구, 방법 및 예
- 몇 가지 흥미로운 소프트웨어 테스트 인터뷰 질문