devops testing tutorial
DevOps 테스트 자습서 : 최근 RightScale 설문 조사에 따르면 회사의 54 %가 DevOps를 채택했으며 DevOps에 대한 관심이 빠르게 증가하고 있습니다.
이 기사에서는이 새로운 소프트웨어 개발 방법이 QA에 어떤 영향을 미치고 QA 기능 전체가 이러한 변화를 수용하기 위해 어떻게 진화해야하는지 알아 봅니다.
확인 => 완전한 DevOps 튜토리얼 시리즈
이 기사에서는 DevOps와 QA 및 기능에 미치는 영향에 대해 자세히 알아 봅니다.
학습 내용 :
DevOps 란 무엇입니까?
DevOps – Development &의 위에에레이션 – 동일한주기 내에서 개발에서 운영에 이르기까지 모든 소프트웨어 개발 기능을 통합하려는 소프트웨어 개발 방법론입니다.
이를 위해서는 소프트웨어 개발 프로세스의 다양한 이해 관계자들 사이에서 더 높은 수준의 조정이 필요합니다 (즉, 개발, QA 및 운영 )
DevOps주기
이상적인 DevOps주기는 다음에서 시작됩니다.
- 개발자 작성 코드
- QA 환경에서 바이너리 빌드 및 배포
- 테스트 케이스를 실행하고 마지막으로
- 하나의 원활한 통합 흐름으로 프로덕션에 배포합니다.
분명히이 접근 방식은 빌드, 배포 및 테스트의 자동화를 크게 강조합니다. CI (지속적 통합) 도구 사용, 자동화 테스트 도구는 DevOps 주기.
왜 DevOps인가?
미묘한 차이가 있지만 애자일 및 DevOps 테스트 , Agile을 사용하는 사람들은 DevOps가 작업하기에 좀 더 친숙하다는 것을 알게 될 것입니다 (그리고 결국 채택). 애자일 원칙은 개발 및 QA 반복에 성공적으로 적용되지만 운영 측면에서는 완전히 다른 이야기 (그리고 종종 경합의 뼈대)입니다. DevOps는이 격차를 바로 잡을 것을 제안합니다.
이제 지속적인 통합 대신 DevOps에는 '지속적인 개발'이 포함됩니다. 코드가 작성되고 Version Control에 커밋 된은 최종 사용자가 사용할 준비가 된 프로덕션 환경에서 빌드, 배포, 테스트 및 설치됩니다.
이 프로세스는 환경과 프로세스가 표준화되어 있기 때문에 전체 체인의 모든 사람에게 도움이됩니다. 체인의 모든 작업이 자동화됩니다. 또한 모든 이해 관계자가 다양한 건물, 운영 및 QA 프로세스에 대해 걱정하지 않고 고품질 결과물을 설계하고 코딩하는 데 집중할 수있는 자유를 제공합니다.
Windows 10에서 토렌트 파일을 여는 방법
이는 타임 코드가 작성되고 커밋 된 후 최종 사용자가 사용하기위한 프로덕션 배포까지 수명을 약 3-4 시간으로 크게 단축시킵니다.
간단히 말해서 DevOps는 Agile의 확장판이거나 'Agile on Steroids'라고 부르고 싶습니다.
DevOps에서 QA의 역할 변경
전통적으로 QA는 지정된 환경에 배포 된 빌드를 받고 QA는 기능의 & 회귀 테스트 . 빌드는 빌드에 대한 QA 승인 전 며칠 동안 QA와 함께하는 것이 이상적입니다. 이러한 모든 단계는 DevOps에서 변경됩니다.
DevOps 테스트에 대한 QA 변경 :
- QA는 DevOps주기에서 그들의 노력을 조정하는 데 필요합니다.
- 모든 테스트 케이스가 자동화되고 거의 100 % 코드 커버리지를 달성하는지 확인해야합니다.
- 환경이 표준화되고 QA 상자에 대한 배포가 자동화되어 있는지 확인해야합니다.
- 모든 사전 테스트 작업, 정리, 테스트 후 작업 등이 자동화되고 지속적 통합주기에 맞춰 조정됩니다.
이미 언급했듯이 DevOps는 제공 가능한 체인의 다양한 기능간에 높은 수준의 조정이 필요합니다. 이것은 또한 체인에서 기여자의 다양한 역할 사이의 경계가 다공성이됨을 의미합니다.
DevOps는 모든 사람이 체인에 기여하도록 권장합니다. . 따라서 무엇보다도 개발자는 배포를 구성 할 수 있습니다. 배포 엔지니어는 QA 저장소에 테스트 케이스를 추가 할 수 있습니다. QA 엔지니어는 자동화 테스트 사례를 DevOps 체인으로 구성 할 수 있습니다.
전체적으로 체인의 모든 사람은 결과물의 품질과 적시성에 대한 책임이 있습니다.
DevOps 및 테스트 자동화
이러한 속도와 민첩성을 달성하려면 모든 테스트 프로세스를 자동화하고 QA 환경에서 배포가 완료 될 때 자동으로 실행되도록 구성하는 것이 중요합니다. 이 통합을 달성하기 위해 전문화 된 자동화 테스트 도구와 지속적인 통합 도구가 사용됩니다.
이것은 또한 새로운 테스트 케이스를 빠르게 스크립팅 할 수있는 성숙한 자동화 테스트 프레임 워크의 구축을 필요로합니다.
DevOps 테스트 전략 : DevOps 성공을위한 팁
- 특정 빌드에 대해 실행해야하는 테스트 케이스를 식별해야합니다.
- 테스트 실행은 기본적으로 간결해야합니다.
- QA와 개발자는 함께 앉아 특정 빌드로 인해 영향을받는 영역을 식별하고 관련 테스트 케이스와 온 전성 테스트 통과를 실행해야합니다.
- 또한 100 %에 가까운 코드 커버리지를 달성하려면 전문 코드 분석 및 커버리지 도구를 구성해야합니다.
- 실행의 개념 모두 테스트 통과를위한 회귀 테스트 케이스는 곧 쓸모 없게됩니다.
- 새로운 기능을 테스트하는 전략을 공식화해야하며 QA에게 중간 빌드를 제공 할 수 있습니다. QA는 테스트 스크립트를 만들고 코드가 프로덕션 환경에 배포 될 수있을만큼 충분히 안정 될 때까지 중간 빌드에서 이러한 자동화 테스트를 실행합니다. .
- 테스트에 필요한 모든 환경을 표준화하고 배포를 자동화해야합니다.
- 다양한 자동화 기술을 사용하여 QA는 다양한 크로스 플랫폼 (웹 애플리케이션의 경우 크로스 브라우저) 환경에서 자동화 테스트 실행을 실행할 수 있어야합니다.
- 테스트의 병렬 실행은 수명을 줄이는 데 도움이되며, 이는 성공적인 DevOps 구현의 핵심입니다.
- 테스트 결과가 체인에 피드백 될 때 프로덕션에 대한 진행 / 중단 결정이 내려 지도록 각 실행에 대해 종료 기준을 설정해야합니다.
- 발견 된 차단 또는 중요 버그는 코드가 프로덕션 환경에 배포되기 전에보고 및 수정되고 동일한 이벤트 체인을 통해 전달되어야합니다.
애플리케이션 모니터링
QA는 또한 문제를 조기에 발견하고 사전에보고 할 수 있어야합니다. 이를 달성하려면 버그가 오류를 일으키기 전에 노출 할 수 있도록 프로덕션 환경에서 모니터링을 설정해야합니다.
응답 시간, 메모리 및 CPU 사용률 등과 같은 특수 카운터를 설정하면 최종 사용자 경험에 대한 많은 통찰력을 얻을 수 있습니다.
예를 들어 , 로그인에 대한 평균 응답 시간이 다양한 빌드에 걸쳐 점진적으로 증가하는 경우 QA는 로그인 코드를 최적화하기 위해이 문제를 사전에보고해야합니다. 그렇지 않으면 향후 빌드에서 높은 응답 시간으로 인해 최종 사용자의 불만을 유발할 수 있습니다.
QA는 또한 환경을 적극적으로 모니터링하기 위해 프로덕션에서 주기적으로 실행되는 기존의 높은 우선 순위 테스트 사례의 작은 하위 집합을 사용할 수 있습니다. '이 버그는 가끔 나타납니다.'또는 ' 재현 할 수 없음 ”는이 전략을 통해 포착 될 수 있으며, 결국 애플리케이션을 더욱 안정적으로 만들고 최종 사용자에게 더 많은 만족을줍니다.
다시 말하지만, 이러한 모니터는 풍부한보고 기능 (예 : 로그 및 오류 스크린 샷 등)과 함께 자동으로 실행되도록 구성해야합니다.
결론
Waterfall은 소프트웨어 개발을위한 선호하는 선택으로 Agile로 대체 된 V-Model로 넘어갔습니다.
DevOps는 미래입니다. 소프트웨어 개발 모델이 수시로 겪는 지속적인 개선주기입니다. 당신은 그것을 포용하고, 이해하고, 가르쳐야합니다.
자동화 노력이 체인에 가치를 더하고 변화에 빠르게 적응할 수있을만큼 충분히 가볍도록 다양한 자동화 및 지속적 통합 도구를 마스터해야합니다. 다음과 관련된 프로젝트를 진행하고있을 수 있습니다. 알파 , 베타 과 UAT 프로덕션 환경에 배포하기 전에 환경.
개념은 본질적으로 동일하게 유지됩니다. 자동화 및 더 많은 자동화는 성공적인 DevOps주기의 핵심입니다. 그러나 QA는 자동화가 너무 많은 자동화인지에 대한 선을 그릴 수 있어야합니다.
저자 정보 : Aniket Deshpande는 다음에서 QA 관리자로 일하고 있습니다. AFour 기술 , Pune는 지난 9 년 이상 다양한 도메인과 플랫폼에서 소프트웨어 테스트 분야에서 일해 왔습니다. 그는 DevOps에 대한 열정이 있으며 DevOps 테스트 전략을 채택 할 때 조직을 안내하는 컨설턴트로 일하고 있습니다.
더 많은 정보에 관심이 있거나 조직에서 DevOps 및 관련 테스트 접근 방식을 구현하려는 경우 언제든지 접촉 저자.
DevOps 테스트에 대해 어떻게 생각하십니까? 개발자와 운영 담당자가 함께 작업하면 프로젝트에 도움이 될 수 있다고 생각하십니까?
이 기사에 대한 의견 / 제안을 알려주십시오.