공동 활동으로 테스트

테스터가 개발자보다 우월하거나 그 반대라고 어떻게 생각할 수 있습니까?

이 글은 아래 만화에서 영감을 받아 작성되었습니다.

반대 입장에 있는 개발자와 테스터

개발자를 창작자로, 테스터를 작업 파괴자로 포지셔닝합니다. 반대 위치에 있습니다. 아마도 일부 조직에서는 이런 방식일 수도 있지만 확실히 효율적인 작업 방식은 아닙니다.

전제 조건:

  • 소프트웨어 개발 및 품질 보증 프로세스에 대한 지식이 도움이 됩니다.

소프트웨어 개발자: 컴퓨터 소프트웨어를 만드는 사람

소프트웨어 테스터: 소프트웨어 개발 및 배포의 품질 보증 단계에 관련된 직무입니다. 소프트웨어가 목적에 적합한지 확인하기 위해 자동 및 수동 테스트를 수행합니다. 즉, 배포 전에 버그와 문제가 제거됩니다.

품질 보증(Quality Assurance): 제품이 고객에게 배송되기 전에 제품의 결함을 방지하기 위한 프로세스입니다.

문제

과정

테스트 프로세스 없이 소프트웨어 개발자는 소프트웨어를 만들어 클라이언트에 제공합니다(이는 소프트웨어를 최종 사용자에게 전달하는 것일 수 있음). 더 나은 소프트웨어 개발자는 자신의 작업을 테스트하는 데 더 능숙합니다(공식화된 테스트 작성도 포함). 그러나 소프트웨어 개발자의 태도가 자신의 직업이 소프트웨어 및 기능을 만드는 것이라는 태도를 취한다면 테스트 작업은 부차적인 활동이 됩니다.

그 결과 QA(품질 보증) 또는 테스트 부서가 만들어졌습니다. 소프트웨어의 품질이 광범위한 개발의 중요한 부분으로 인식되면서 그 역할이 커졌습니다.

소프트웨어 개발자는 기능을 개발하고 "제품을 벽 너머로 던져" 테스트 팀에서 승인하거나 거부할 때까지 기다립니다.

승인되지 않은 소프트웨어는 문제가 실제 문제인지, 버그인지, 기능인지, 아니면 무시해야 하는지에 대한 열띤 토론으로 이어질 수 있습니다.

왜곡된 인센티브

테스터가 개발자와 충돌하도록 설정되면 두 당사자 간에 책임을 전가할 유인이 있습니다. 일부 조직에서는 이것이 디자이너와 비즈니스 분석가에게까지 확대됩니다. 많은 회사에서는 동료가 서로 다른 부서에 있으므로 회사 내에서 정보, 모범 사례 및 도구를 공유 하지 않는 것이 더 낫다고 보는 사일로 사고방식을 가지고 있습니다 . 부서의 사리사욕은 회사 전체가 어려움을 겪는다는 것을 의미합니다.

소프트웨어 개발에서 테스트의 역할 증가

QA팀은 버그 사냥을 전담하는 부서가 아니라 다양한 책임을 맡습니다. 사용자 인터페이스의 개발은 프로세스를 통해 모니터링되고 개선되어야 하며, 주기(스프린트, 기능 주기 또는 생산 주기)가 끝날 때 이를 변경하는 것은 너무 늦습니다. 소프트웨어 회사는 테스트가 개발이 끝날 때 의미가 되기에는 너무 늦은 개별 프로세스라는 것을 깨달았습니다. 테스트는 소프트웨어 개발 프로세스를 통해 진행되기 시작했습니다. 보안 테스트에는 현지 법률이나 유럽의 GDPR 준수가 포함됩니다. 이는 요구 사항이 시스템 설계에 묶여 있기 때문에 오랜 소프트웨어 개발 프로세스가 끝날 때 간단히 추가할 수 있는 것이 아닙니다.

소프트웨어가 큰 부하에서 작동하지 않는다는 것을 발견한 테스터는 개발자가 이 문제를 해결할 수 없다는 것을 발견했습니다. 너무 늦었습니다.

솔루션

같은 목표를 향해 노력하고 있는

소프트웨어에 문제가 있는지 판단하는 방법 중 하나는 사양에 자세히 설명된 소프트웨어 요구 사항을 다시 참조하는 것입니다.

이는 프로세스에 관련된 모든 사람이 소프트웨어 사양을 받아들이고, 이해하고, 구현하기를 원해야 함을 의미합니다.

개발자가 디자이너에게 리소스를 요청하고 이를 구현한 후 제품이 테스트에 실패하면 실패에 대한 책임은 누구에게 있습니까?

테스트를 개발 프로세스에 통합

쉽게 승리할 수 있는 방법 중 하나는 개발자가 테스트 기반 접근 방식을 코드에 통합하는 것입니다. 이를 통해 개발 중에 코드 조각 검사(단위 테스트)를 수행할 수 있습니다.

지속적인 개발 및 지속적인 통합 프로세스를 사용한 테스트는 빌드가 항상 빌드되어야 함을 의미합니다. 이는 개발자가 테스트 팀의 도움 없이 일부 작업(스모크 테스트까지)을 수행한다는 의미입니다. 그렇다면 그들의 역할은 어떻게 될까요?

테스트 자동화

자동화된 테스트는 주기 중에 문제가 조기에 발견된다는 것을 의미합니다. 또한 이러한 테스트를 자동화하고 다음 사항을 확인하는 작업을 생성합니다.

현지 규정 준수

누가 현지 규정을 준수하는지 확인해야 합니까? 테스트의 일환으로 이는 소프트웨어 개발 중에 수행되어야 하며 사후가 아닙니다.

결론

팀워크가 더 좋아졌어요!

팀이 잘 협력하지 않을 때 어떤 팀 스포츠가 더 잘 작동합니까?

소프트웨어 개발은 ​​다양한 팀과 다양한 역할을 수행하는 사람들과 함께 작업하는 것을 의미합니다. 좋은 품질의 결과를 얻으려면 사람들이 함께 일하는 것이 중요합니다. 자신이 업무를 수행할 능력이 없거나 일이 잘못되었을 때 누군가를 비난해야 하는 경우를 제외하고는 그렇게 하지 않을 이유가 없습니다.

그리고 그건 당신이 아닙니다. 그렇습니까?

연락하고 싶나요? 여기 링크를 시도해 보세요:

Suggested posts

내가 가장 많이 사용하는 코딩 리소스

내가 가장 많이 사용하는 코딩 리소스

이번 주에 저는 일일 이메일 목록의 회원으로부터 이메일을 받았습니다. 그들은 알고 싶어했습니다. 매일, 매주, 매월 어떤 리소스를 방문합니까? 좋은 질문입니다! 제 작업 흐름과 제가 사용하는 주요 리소스에 대한 통찰력을 공유하게 되어 기쁩니다.

하이퍼모던 터미널 도구 상자

하이퍼모던 터미널 도구 상자

2023년에 표준을 설정하는 터미널, 셸 및 명령줄 도구. 모든 개발자는 터미널을 사용합니다. 어떤 사람들에게는 전체 작업 흐름이 터미널입니다 이 게시물에서는 2023년에 표준을 설정하는 터미널, 셸 및 명령줄 도구인 Hypermodern Terminal Toolbox를 소개합니다 터미널 에뮬레이터로서의 Kitty Kitty는 터미널 에뮬레이터입니다. 그놈 터미널의 대안입니다 , Alacritty 또는 Windows 터미널.

Related posts

팟캐스트가 영향력 있는 이유는 무엇입니까?

팟캐스트가 영향력 있는 이유는 무엇입니까?

지난 주에 저는 PressGazette(영국 언론 뉴스 웹사이트)를 통해 발송된 보도 자료를 보았습니다. 이 기사는 Scandi 팟캐스트 호스팅 및 광고 회사인 Acast가 팟캐스팅에서 "아마도 가장 영향력 있는" 게시자 컨소시엄을 이끌 것이라고 발표했습니다.

취하기의 아이의 첫 번째 책

취하기의 아이의 첫 번째 책

(경고- 이것은 유쾌하게 전복하려는 풍자입니다. 절대 어린이용이 아닙니다.) 당신은 엄마와 아빠가 부엌에 숨어서 그 냄새나는 담배를 피우는 것을 본 적이 있습니다. 그들은 당신에게 말합니다.

지구를 구하고 돈을 버는 방법

지구를 구하고 돈을 버는 방법

페트병, 유리병, 알루미늄캔, 그린에너지 패키지를 무심코 버린 적이 몇 번이나 되셨나요? 재활용에 대한 대가로 무언가를 얻을 수 있기를 몇 번이나 바랐습니까? 당신이 대부분의 사람들과 같다면 대답은 아마도 여러 번일 것입니다. 재활용은 종종 번거로움, 자질구레한 일 또는 즉각적이거나 실질적인 혜택을 가져오지 않는 의무로 간주됩니다.

미디어 재검토: McChesney의 다섯 가지 진실과 커뮤니케이션의 미래

오늘날의 초연결 세계에서 미디어 시스템은 여론을 형성하고 결과적으로 민주적 의사 결정에 중추적인 역할을 합니다. 의사소통의 정치경제학에 대한 심오한 분석에서 학자인 Robert McChesney는 기존의 통념에 도전하고 그가 미디어에 대한 "다섯 가지 진실"이라고 부르는 것을 제시합니다.