자동화 된 소프트웨어 테스트 란 무엇입니까?
소프트웨어는 모든 유효한 입력이 올바르게 해석되고 실행되는지 확인하고 부정확 한 입력이 발생하는지 확인합니다. 또한 테스트를 통해 결과가 효율적으로 생성되고 막대한 양의 데이터를 딸꾹질없이 처리 할 수 있는지 확인합니다. 테스트는 수동 또는 전자적으로 수행 할 수 있습니다. 자동화 된 소프트웨어 테스트에는 특수 소프트웨어를 사용하여 개발중인 코드를 테스트합니다. 이러한 테스트는 신중하게 적용되는 경우 소프트웨어 개발 프로세스에 도움이됩니다.
수동 테스트는 테스트를 수행하는 사람들의 세심함에 달려 있습니다. 수동 소프트웨어 테스트는 시간이 많이 걸리며 대부분의 응용 프로그램에서 개발자와 개발자의 비율이 상당해야합니다. 이것은 개발 비용을 증가시킵니다. 또한 수동 테스트에는 많은 양의 데이터 또는 많은 수의 동시 사용자 또는 입력을 쉽게 테스트 할 수 없다는 제한이 있습니다.
자동화 된 소프트웨어 테스트는 프로그래밍 방식으로 테스트 실행 및 출력 평가를 제어합니다. 테스트 소프트웨어는 다양한 조건에 해당하는 입력을 평가중인 소프트웨어에 제공합니다. 각 조건 집합에 대해 테스트 소프트웨어는 실제 결과를 원하는 결과와 비교하고 대상 소프트웨어의 집계 동작에 대한 통계를 유지합니다. "실행"후에 테스트 소프트웨어는 일반적으로 사람들이 치료할 대상을 신속하게 결정할 수 있도록 요약 결과를 제공합니다.
자동화 된 소프트웨어 테스트에서는 로그인 또는 우편 주소와 같은 데이터 입력과 같은 테스트와 관련된 지루한 작업이 자동화됩니다. 각 조건에서 광범위한 조건 조합을 테스트 할 수 있습니다. 자동화 된 테스트에는 컴퓨터와 소프트웨어를 사용하기 때문에 많은 양의 입력 데이터 또는 매우 빠른 입력을 시뮬레이션 할 수 있습니다. 여러 테스트 조건의 각 실행은 몇 시간 안에 완료 될 수 있습니다. 따라서 자동 테스트는 회귀 테스트에 매우 유용하므로 새로운 기능이나 버그 수정으로 인해 이전에 작동하던 코드가 실수로 중단되지 않았습니다.
Extreme Programming과 같은 일부 최신 개발 방법론은 코딩 전에 테스트를 사용할 수 있다고 강조합니다. 개발 방법론은 소프트웨어가 개발 될 때 정확성을 보장하기 위해 매일 여러 차례 회귀 테스트를 수행한다고 강조합니다. 소프트웨어 팀이 중요한 소프트웨어에 대해이 방법론을 준수해야하는 경우 자동화 된 소프트웨어 테스트를 사용해야합니다.
자동화 테스트 소프트웨어에는 원하는 입력 및 출력이 공급되어야합니다. 이를 수행하는 한 가지 방법은 수동 테스트 조건을 소프트웨어에 저장하는 것입니다. 다른 방법은 테스트 할 소프트웨어의 허용 한계 내에서 다양한 조건을 생성하는 코드를 작성하는 것입니다. 따라서 자동화 된 소프트웨어 테스트의 기초는 확실히 사람의 노력입니다. 자동화 된 테스트 소프트웨어는이를 넘어서서는 안됩니다.
자동화 된 소프트웨어 테스트는 소프트웨어 사용 및 사용 측면에서 상당한 비용이 듭니다. 따라서 자동화 여부와 테스트에서 자동화 할 부분이 핵심 결정입니다. 자동화 된 테스트는 크게 변경 될 것으로 예상되는 기능 및 환경에는 적합하지 않습니다. 대부분의 응용 프로그램에서는 수동 및 자동 테스트가 적합합니다.