컴퓨터소프트웨어

테스트 프로그램 - 소프트웨어 제품에서 오류 검출 과정

소프트웨어 개발에서 생산 공정의 상당 부분은 소프트웨어 테스트를 기반으로합니다. 무엇을하고 어떻게이 문서에서 논의 할 것이다 이러한 활동이다.

어떤 테스트라고?

이 코드의 잘못된 동작의 위치를 감지하는 소프트웨어를 실행하여 프로세스를 말합니다. 최상의 결과를 위해 의도적으로 입력 데이터 세트를 구성 어렵다. 검사의 주요 목적은 실패의 가장 좋은 기회를 만드는 것입니다 소프트웨어를. 때때로 개발 프로그램을 테스트하지만 용량을 작업의 일상적인 검사로 단순화 기능을 수행 할 수 있습니다. 이 시간을 절약 할 수 있지만, 종종 등등 소프트웨어의 신뢰성, 사용자 불만 및 동반한다.

유효성

오류, 비용에 상당한 영향 및 소프트웨어 개발 요구되는 품질의 기간은 얼마나 잘하고 신속하다. 전체 프로젝트 비용의 40 % - 그래서, 테스터는 개발자보다 몇 배 더 작은 급여를받을 수 있다는 사실에도 불구하고, 그들의 서비스의 비용은 일반적으로 30까지이다. 이것이 독특하고 매우 어려운 과정이다 - 실수에 대한 검색이 때문에는, 직원의 수 때문이다. 소프트웨어 테스트의 존경 수를 통과하더라도하지만, 오류가 발생하지 않습니다에는 100 % 보장 할 수는 없습니다. 가 발생할 때 그냥 모르겠어요. 오류를 발견 할 가능성이 시험의 유형을 선택 테스터를 장려하기 위해, 다른 동기 부여 도구가 사용된다 : 정신적, 물질적 모두.

작업에 접근

소프트웨어의 오류가 처음부터되지 않았는지 확인하기 위해 다양한 메커니즘을 구현 할 때 최적입니다. 이렇게하려면 적절한 아키텍처 설계, 참조의 명확한 용어에주의해야하고, 프로젝트에 대한 작업을 이미 시작했을 때 통신의 조정을하지 않는 것이 중요합니다. 이 경우, 최종 결과에 남아 오류의 소수를 발견하고 식별하는 작업에 테스터. 이것은 시간과 비용을 절약 할 수 있습니다.

시험은 무엇인가?

이 코드의 결함을 성공적으로 탐지에 필요한 검사 활동의 중요한 측면이다. 그들은 올바른 응용 프로그램을 제어하기 위해 필요하다. 무슨 시험에 포함됩니까? 이 결과 (또는 중간)로서 수득한다 데이터를 초기 값으로 구성된다. 성공적으로 문제와 불일치를 확인하기 위해, 테스트 알고리즘이 개발 되었으나, 프로그래밍을 시작하지 않은 후에해야한다. 필요한 데이터를 추정하는 몇 가지 방법을 사용하는 것이 바람직하다. 이 경우, 다른 관점에서 코드를 검사 할 수 있기 때문에 오류를 검출 확률을 증가. 복잡한 테스트는 외부 완성 된 소프트웨어 제품의 효과뿐만 아니라 그의 작품 알고리즘의 검증을 제공해야합니다. 특히 관심의 한계 타락한 케이스를 제공한다. 따라서, 오류의 연습에 자주 사이클이 계획보다 덜 한 번 이상에서 동작하는 것을 공개 할 수 있습니다. 또한 중요한 것은 당신이 다른 컴퓨터에서 원하는 결과를 확인 할 수있는 컴퓨터 테스트이다. 이 순서는 소프트웨어가 모든 컴퓨터에서 작동하는지 확인하기 위해 필요하다. 또한, 개발이 수행 될 컴퓨터 테스트, 멀티 플랫폼 개발의 생성에 중요하다.

문제 해결의 예술

프로그램은 종종 거대한 데이터 세트로 작업하는 것을 목표로하고 있습니다. 완전히 만들 필요가 있습니까? 아니오. 광범위한 프로그램의 "소형화"의 실천을 인수했다. 즉, 사용할 수에 비해이 경우에는 데이터 량의 적절한 감소가있다. 의 예를 살펴 보자 : 크기 50 × 50의 매트릭스를 생성하는 프로그램이있다. 즉 - 수동으로 2500 개 값을 입력해야합니다. 그것은 확실히 가능하지만, 그것은 매우 긴 시간이 소요됩니다. 그러나 기능을 테스트하기 위해, 소프트웨어는 그 사이즈 인 5 × 5 행렬을 수신한다. 이렇게하려면, 당신은 25 개 이상의 값을 입력해야합니다. 경우,이 경우, 정상, 오류없는 작동, 그것은 모든 순서는 것을 의미한다. 미세화 상황이 발생하여, 변화가 발생하는 암시되고 일시적으로 사라지는 있다는 사실에 놓여 함정이 있지만. 그것은 또한 매우 드물지만, 여전히 새로운 버그가 있다는 것입니다 발생합니다.

목표는 추구

시험 때문에이 과정 전체를 공식화 할 의무가 아니라는 사실 쉬운 일이 아니다. 대형 프로그램은 거의 절대 필요한 정확한 기준이 없다. 따라서, 그러나 완전히 디버깅 소프트웨어 개발의 특성과 기능을 반영 할 수없는 간접 데이터의 번호를 사용하여 지침으로. 또한, 그들은 올바른 결과가 소프트웨어 제품을 테스트 할 방법 전에 계산하도록 선택해야합니다. 당신이 진행되지 않을 경우, 모든에 대한 고려 유혹하고, 기계의 결과가 예상 범위에 도착하면,이 모든 것이 올바른지, 잘못된 결정을 할 것입니다.

다른 조건 확인

원칙적으로, 테스트 프로그램은 제한된 범위의 최소 기능 테스트에 필요한 양으로 발생한다. 하여 매개 변수의 변화뿐만 아니라 근로 조건과 수행 활동. 테스트 과정은 3 단계로 나눌 수 있습니다 :

  • 정상적인 조건에서 확인하십시오. 이 경우 우리는 개발 된 소프트웨어의 기본 기능을 테스트합니다. 결과는 예상과 일치해야합니다.
  • 극한 조건에서 확인하십시오. 악영향 만든 소프트웨어의 성능에 영향을 미칠 수있는 경계 데이터와 동의어로 이러한 경우,합니다. 예를 들어, 우리는 매우 크거나 작은 숫자 또는 수신 된 정보의도 완전한 부재와 함께 작동합니다.
  • 예외적 인 상황에서 확인. 그것은 치료를 벗어난 데이터의 사용을 포함한다. 소프트웨어가 계산에 유용한 그들을 인식하고 그럴듯한 결과를 제공 할 때와 같은 상황에서는 매우 나쁘다. 케어 이러한 경우 제대로 처리 할 수없는 데이터의 거절이 있는지주의해야한다. 그것에 대해 사용자에게 알리는 제공 할 필요가있다

테스트 : 유형

오류없이 소프트웨어를 작성하는 것은 매우 어렵습니다. 이것은 상당한 시간을 필요로한다. "알파"와 "베타"좋은 제품은 종종 시험의 두 가지 유형을 사용 얻으려면. 그들은 무엇입니까? 사람들이 알파 테스트에 대해 이야기 할 때, 리뷰 개발 "실험실"조건의 상태에 자신을 실시하는 것을 의미합니다. 프로그램이 최종 사용자에게 전달되기 전에이 테스트의 마지막 단계입니다. 따라서 개발자는 최대 돌아서 위해 노력하고 있습니다. 작업의 용이성을 위해, 데이터는 문제와 해결의 연대기를 만들 기록 할 수 있습니다. 그들이 프로그램을 이용하고 당신이 놓친 실수를 식별 할 수 있도록 베타 테스트에서 제한된 수의 사용자에게 소프트웨어의 공급을 이해합니다. 이 경우의 특징은 종종 소프트웨어가 의도 한 목적을 위해 사용되지 않는 사실이다. 아무 것도 없었다 곳이 장애를 식별 할 것이기 때문에 이전에 본. 이 필요하지 않습니다에 대한이 매우 정상적이고 걱정입니다.

테스트 완료

이전 단계가 성공적으로 완료 될 경우, 승인 시험을 실시 남아있다. 이 경우 그는 단순한 형식이됩니다. 이 테스트 기간 동안 추가 문제가 발견되지 않았다 및 소프트웨어가 시장에 출시 될 수 있음을 확인 온다. 가장 중요한 최종 결과가 될 것입니다, 더 밀접하게 검증해야한다. 케어는 모든 단계가 성공적으로 완료되었는지 확인하기 위해주의해야한다. 다음은 전체 테스트 프로세스입니다. 이제 기술적 인 세부 사항으로 탐구하고 테스트 프로그램으로, 같은 유용한 도구에 대해 이야기하자. 사용할 때 그들은 무엇과?

컴퓨터를 이용한 테스트

효과적으로 결함을 검출하는 데 너무 무거운 방법입니다 - 이전에는이 개발 한 소프트웨어의 동적 분석이 있다고 생각했다. 그러나 때문에 프로그램의 복잡성이 증가하고 볼륨에 반대 견해를 보였다. 가장 중요한 우선 순위는 효율성과 안전성 어디에 자동화 된 테스트가 사용됩니다. 그리고 그들은 모든 입력 아래에 있어야한다. 네트워크 프로토콜, 웹 서버, 샌드 박싱 : 예를 들어,이 같은 시험에 해당되는 프로그램은 다음과 같습니다. 우리는 이러한 활동에 사용할 수있는 몇 가지 샘플을보고 계속합니다. 당신은 무료로 테스트 프로그램에 관심이 있다면, 품질이 그 (것)들의 사이에서 찾기 어렵습니다. 그러나 거기에 잘 확립 된 프로젝트의 "불법 복제"버전을 금이, 그래서 당신은 그들의 서비스를 참조 할 수 있습니다.

눈사태

이 도구는 결함이 동적 분석 모드에서 프로그램을 테스트 감지하는 데 도움이됩니다. 이는 데이터를 수집하고 트랙 설계된 객체의 성능을 분석한다. 테스터는 오류가 발생하거나 기존 제약 세트를 우회 입력의 세트를 설명한다. 가능한 상황의 많은 수에 의해 개발 된 알고리즘의 좋은 테스트 감사합니다. 프로그램이 경우 다수의 시뮬레이션하고는 대부분 실패의 발생 인 조건을 생성 할 수 있도록 입력 데이터의 다른 세트를 수신한다. 프로그램의 중요한 장점은 경험적 통계의 사용이다. 문제가있는 경우, 응용 프로그램 오류 가능성이 높다. 그러나이 프로그램은 하나 개의 체크 표시 입력 소켓 또는 파일과 같은 제한 사항이 있습니다. 같은 테스트 프로그램으로 작업을 수행 인해 라이브러리의 사용에 널 포인터 문제, 무한 루프, 잘못된 주소 또는 오작동에 대한 자세한 정보를 포함합니다. 물론,이 감지 오류 및 유일한 일반적인 예의 전체 목록이 아닙니다. 수정 부족, 슬프게도는, 개발자가 - 자동화 된 수단이 목적에 적합하지 않습니다.

KLEE

그것은 메모리를 테스트하기위한 좋은 프로그램입니다. 약 50 시스템 호출에 따라서 병렬 적 또는 개별적으로 실행되는 가상 프로세스의 다수를 인터셉트 할 수있다. 그러나 일반적으로, 프로그램은 몇 가지 의심스러운 장소를 찾고, 코드의 가능한 최대 금액을 처리하고 데이터 경로를 사용하여 분석하지 않습니다. 이 때문에, 테스트 프로그램은 개체의 크기에 따라 달라집니다. 내기를 확인해 볼 때 상징적 인 프로세스에 배치됩니다. 그들은 테스트 프로그램에서 작업을 수행 할 수있는 방법 중 하나입니다. 병렬 작업 덕분에 테스트 응용 프로그램의 작업의 변종의 많은 수를 분석 할 수 있습니다. 입력 데이터 세트의 각각의 경로에 대한 확인과 함께 시작 그 시험 후에 저장된다. KLEE를 사용하여 테스트 프로그램이 안 변화의 큰 번호를 식별하는 데 도움이 주목해야한다. 심지어 수십 년 동안 개발 된 응용 프로그램에서 문제를 찾을 수 있습니다.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ko.delachieve.com. Theme powered by WordPress.