top 10 test automation strategies
이것은의 마지막 기사입니다 테스트 자동화 시리즈 . 이 문서에서는 테스트 자동화를 수행하기위한 모범 사례와 전략을 요약합니다.
이전 기사에서 모범 사례에 대해 언급했지만 (일부는 여기서 반복 될 수 있음) 몇 가지를 나열하고 싶었지만 가장 중요한 자동화 모범 사례는 여기에 참조 용으로 제공됩니다. .
이러한 전략은 내 경험과 Michael Bolton, James Bach 및 Cem Kaner와 같은 테스트 전문가의 문헌에서 가져온 것입니다. 이러한 관행은 모든 자동화 프로젝트에서 따라야합니다.
학습 내용 :
10 가지 최고의 테스트 자동화 전략 및 사례
여기 ..
#1. 전담 자동화 엔지니어 또는 팀 고용
이것은 할 기본적인 일입니다. 수동 테스터에게 테스트 자동화에 빠져들도록 요청하지 마세요. 테스트 자동화를 원하면 수동 테스트 작업에서 해방하십시오. 테스트 자동화는 정규직입니다. 이를 위해서는 전용 리소스가 필요합니다.
최소한 한 명의 자동화 설계자로 구성된 테스트 자동화 팀을 구축하는 것이 좋습니다. 여러 자동화 엔지니어를 고용하여 테스트 자동화 설계자의지도에 따라 작업 할 수 있습니다. 자동화 엔지니어의 수는 제품의 수와 크기에 따라 다릅니다.
# 2. 자동화 도구는 중요하지만 모든 것에 대한 해결책은 아닙니다.
도구 선택에 대해 이야기했습니다. . 그러나 올바른 도구를 선택하는 것은 시작에 불과합니다. 일부 관리자는 올바른 도구를 선택하면 모든 것을 쉽게 자동화 할 수 있다는 오해를 가지고 있습니다. 자동화 도구가 모든 것을 제공하지는 않습니다. 그들은 과정을 더 쉽게 만듭니다. 그러나 프로세스를 완료하려면 숙련 된 리소스가 필요합니다.
종종 자동화 도구는 버그가 많고 응용 프로그램에서 복잡한 개체를 식별하는 데 어려움을 겪습니다. 고용 한 리소스가 숙련 된 경우 프로세스를 진행하는 해결 방법을 제시합니다. 그렇지 않고 좋은 리소스를 고용하지 않으면 도구만으로는 성공적인 자동화를 보장 할 수 없습니다.
#삼. 리소스에 익숙한 자동화 도구를 선택하십시오.
리소스가 C #에 익숙하고 테스트 할 애플리케이션도 C #으로 개발 된 경우 스크립트 작성을 위해 C #을 제공하지 않는 도구를 선택할 필요가 없습니다.
언어 학습은 시간이 걸리는 과정입니다. 최소한의 학습 곡선을 제공하는 도구를 구입하여 이러한 학습 곡선을 피하십시오.
# 4. 테스트중인 애플리케이션 파악
도구 선택은 제품에 사용 된 기술에 따라 크게 달라집니다. 자동화를 시작하기 전에 제품을 완전히 파악하십시오.
웹 애플리케이션 인 경우 지원할 브라우저를 알고 있어야합니다. 그것에 사용되는 기술을 알고 있습니다. 데스크톱 응용 프로그램 인 경우 어떤 언어를 기반으로하는지 알고 있어야합니다. 애플리케이션에서 사용중인 타사 컨트롤 이렇게하면 도구 선택과 향후 자동화가 더 쉬워집니다.
# 5. 좋은 자동화는 좋은 수동 테스트 케이스를 의미합니다.
멋지게 작성된 강력한 수동 테스트 케이스 자동화하기는 쉽지만 결함을 찾는 데 약한 테스트 사례를 자동화하지 않아도됩니다.
다음은 소프트웨어 테스팅에서 배운 교훈 책의 인용문입니다.
'좋은 테스트 설계없이 자동화하면 많은 활동이 발생하지만 가치는 거의 없습니다.'
최고의 무료 PC 속도 향상 소프트웨어
항상 수동 형식으로 테스트 케이스를 작성하는 것이 좋습니다. 모든 전제 조건 및 테스트 데이터 식별 . 단계를 명확하게 작성하고 각 단계 앞에 예상 결과를 작성합니다. 한 테스트 케이스의 목적은 명확해야하며 다른 테스트 케이스에 덜 의존해야합니다. 자동화 엔지니어는 식별해야하는 개체와 탐색 흐름을 명확하게 결정하기 위해이 테스트 사례를 한 번 이상 수동으로 실행해야합니다. 수동 테스터에게 질문하세요.
이 활동은 때때로 자동화 스크립트가 작성되기 전에도 버그를 식별하는 데 도움이됩니다. 전문가들은 대부분의 버그가 실제 실행 단계가 아닌 테스트 자동화 개발 단계에서 식별된다고 말합니다.
# 6. 자동화로 기회 식별
당신이 자동화를위한 수동 테스트 케이스 , 테스트 사례를 그대로 자동화하지 마십시오. 대신 자동화에서 더 많은 기회를 찾아이 테스트 사례의 범위를 확장하십시오.
예를 들면, 수동 테스트 케이스 요구 사항이 웹 페이지에 로그인해야하는 경우. 이 테스트 케이스를 데이터 기반으로 만들어 확장 할 수 있습니다. 유효하지 않은 암호, 빈 암호, 유효하지 않은 사용자 이름, 유효하지 않은 이메일, 빈 사용자 이름, 확인 된 내용 기억, 확인하지 않은 것과 같은 가능한 모든 로그인 시나리오를 나열하십시오. 예상 결과와 함께 가능한 시나리오를 Excel 파일에 나열하고이 Excel 파일을 넣으십시오. 테스트 케이스의 데이터 소스로. 이제이 하나의 수동 테스트 케이스가 자동화 된 후 가능한 모든 시나리오를 한 번에 테스트 할 수 있습니다.
항상 자동화로 수행 할 수 있지만 수동으로 수행하기 어려운 기회를 찾으십시오. 부하 테스트 시나리오, 성능 벤치 마크, 구성이 다른 여러 환경에서의 동일한 테스트, 메모리 누수, 고정밀 테스트 등이 모두 수동 테스터에게 어려운 시나리오입니다.
# 7. 모든 것을 자동화 할 수는 없습니다
자동화는 더 적은 수의 테스트를 더 자주 실행하는 것을 의미합니다. 먼저 연기 테스트를 공격하여 작게 시작해야합니다. 그런 다음 수용 테스트 구축 . 그런 다음 자주 수행하는 테스트로 이동 한 다음 테스트를받는 시간으로 이동하십시오. 그러나 모든 테스트를 자동화해야 수동 테스터가 더 중요한 일에 집중할 수있는 시간을 절약 할 수 있습니다.
자동화는 수동 테스터를 대체하기위한 것이 아닙니다. 그럴 수도 없습니다. 새로운 테스트 시나리오와 버그를 찾는 데 집중하고 힘을 발휘할 수 있도록 수동 테스터로부터 반복되는 작업을 없애기 위해 여기에 있습니다. (내 기사 읽기 테스트 자동화에 대한 오해)
몇 가지 테스트 자동화 가치 있는 과 시간 절약 또는 하기 어렵다 수동 테스터 용. 그렇게하면 자동화 작업이 완료됩니다.
# 8. 대안이있을 때 GUI 자동화를 피하십시오
GUI 자동화는 항상 다른 유형의 자동화 된 테스트보다 어렵습니다. 따라서 GUI를 자동화하지 않고 명령 줄 입력과 같은 다른 방법으로 목표를 달성 할 수있는 상황이있는 경우 가장 좋은 전략은 GUI 자동화를 피하는 것입니다.
예를 들면, 애플리케이션 설치를 테스트하려고합니다. 목적은 애플리케이션이 특정 환경에 설치되었는지 여부를 확인하는 것입니다. 한 가지 방법은 설치를 시작하고“ 다음 ”버튼을 자동화 도구를 통해 여러 번 누릅니다. 까다 롭고 시간이 많이 소요될 수 있으며 UI가 변경되면 유지 보수가 필요합니다. 다른 방법은 자동 인수를 제공하는 배치 파일을 사용하여 응용 프로그램 설치를 시작하는 것입니다. 응용 프로그램은 GUI없이 자동으로 설치됩니다. 목표는 더 짧은 시간에 더 안정적인 방식으로 달성 될 것입니다.
# 9. 다른 유용한 목적으로도 자동화 사용
자동화는 정말 환상적입니다. 평소에 생각하지 않는 것들을 얻을 수 있습니다. 자동화는 수동 테스트 케이스를 프로그래밍하는 것만이 아닙니다. 대신 자동화를 사용하여 조직의 다양한 작업을 용이하게 할 수 있습니다.
예를 들면, 자동화를 사용하여 수동 테스터를위한 마스터 데이터 및 설정 구성을 자동으로 생성 할 수 있습니다. 가능한 한 빨리 테스트를 시작할 수 있습니다.
내 회사에서 한 가지 예를들 수 있습니다. 테스트 케이스 관리 도구에서 전환하고 싶었습니다. 우리는 'Test Director'(현재 HP ALM)를 사용하고 있었고 TFS (팀 재단 서버). Test Director에는 약 4000 개의 수동 테스트 케이스와 버그가있었습니다. 수동으로 TFS로 전송하는 데 약 한 달이 걸릴 수 있습니다. 그래서 관리자가 자동화를 시도해 보라고했습니다.
나는 그 도구를 파헤 치고 Test Director가 SQL 서버를 저장소로 사용하고 있다는 것을 알았습니다. TFS의 경우 특정 형식으로 작성된 경우 Excel 파일에서 테스트 케이스와 버그를 읽고 TFS에 삽입 할 수있는 도구를 찾았습니다. 나머지 이야기는 간단합니다. 모든 테스트 케이스와 버그를 가져 오는 SQL 쿼리를 작성하고 특정 형식의 Excel 파일로 내보냈습니다. 그런 다음 Excel 파일에서 모든 테스트 케이스와 버그를 읽고 TFS에 삽입하는 도구를 사용했습니다. 전체 과정은 3 시간 밖에 걸리지 않았습니다. 매니저는 매우 기뻤습니다. 당신도 내 요점을 이해하기를 바랍니다.
# 10. 자동화는 소프트웨어 개발입니다
양질의 소프트웨어를 개발하는 경우 모범 사례가 필요합니다. 양질의 코드를 작성하려면 코드 검토가 필요합니다. 따라야 할 프레임 워크 또는 디자인 패턴이 필요합니다. 지속적인 유지 보수가 필요합니다.
자동화는 기본적으로 소프트웨어 개발입니다. 따라서 소프트웨어를 개발할 때 따르는 모든 모범 사례를 자동화에 따라야합니다. 자동화 프레임 워크가 있어야합니다. 코드 검토를 수행해야합니다. 자동화 버그는 버그 저장소에보고해야합니다. 자동화의 소스 코드는 소스 제어 등에 배치되어야합니다. 소프트웨어 개발처럼 취급할수록 자동화는 더 성공적 일 것입니다.
결론
이것은 기사와 일련의 테스트 자동화를 요약합니다. 저는이 튜토리얼을 쓰면서 많은 것을 배웠고 여러분도 독서로 배우기를 바랍니다. 테스트 자동화는 흥미롭고 보람있는 직업입니다. 올바르게 수행하는 것은 귀하뿐 아니라 조직에도 유익합니다.
매일 테스트 자동화 및 그 기술을 연구하면서 새롭고 흥미로운 해결 과제를 발견합니다. 이 시리즈는 테스트 자동화 여정에서 발생할 수있는 것을 강조하기위한 시도였습니다. 나는 그것을 올 바르고 간단한 방법으로 전달하기를 바랍니다.
언제나처럼 여러분의 의견과 제안을 기다리고 있습니다. 의견 섹션에 의견을 작성하십시오. 귀하의 의견을 듣고 필요한 경우 기꺼이 도와 드리겠습니다. 읽어 주셔서 감사합니다.
이전 튜토리얼 # 6
추천 도서
- 수동 또는 자동화 테스트 전문가입니까? 우리를 위해 아르바이트!
- 수동 및 자동화 테스트 과제
- Top 10+ Best Software Testing Books (Manual and Automation Testing Books)
- Sikuli GUI 자동화 테스트 도구-초보자 가이드 파트 # 2
- 자동화 테스트에서 개념 증명 (POC) 구현을위한 단계별 가이드
- 10 단계 자동화 테스트 프로세스 : 조직에서 자동화 테스트를 시작하는 방법
- 프로젝트에 필요한 테스트 유형을 결정하는 방법은 무엇입니까? -수동 또는 자동화
- 수동 성능 테스트를 수행하는 방법?