1. QA 엔지니어보다 우수하다고 생각하는 많은 소프트웨어 엔지니어를 만났습니다. QA 엔지니어가 한동안 일을한다면이 신념을 소멸시키는 데 도움이 될 수 있다고 생각합니다.
우수한 소프트웨어 엔지니어링은 테스트, 메트릭 및 통계를 포함하여 품질에 대한 배경 지식이 있습니다. 모든 종류의 소프트웨어 개발을하는 사람은 품질 소스 코드를 유지하고 효과적인 테스트 사례를 생성 / 유지하는 것을 알고 있어야합니다. 시간이 지남에 따라 소프트웨어 개발자는 코드 품질, 이식성, 유지 관리 성, 테스트 가능성, 유용성, 신뢰성, 효율성 및 보안과 같은 품질의 다양한 측면을 이해하게 될 것입니다.
소프트웨어 엔지니어는 라이프 사이클의 특정 측면 (요구 사항 엔지니어링, 아키텍처 및 디자인, 구성, 테스트 및 유지 관리)에 중점을 둘 수 있습니다. 그러나 (직업 또는 프로젝트의 현재 단계에서) 초점에 관계없이 품질을 기억하는 것이 중요합니다.
2. 소프트웨어 엔지니어가 자신의 프로그램을 더 잘 테스트할수록 나머지 소프트웨어 개발 수명주기 동안 코드를 작성하는 데 걸리는 시간이 줄어 듭니다.
사실 일 수도 있습니다. 그러나 일부 문제는 나중에 개발에서 가장 잘 나타납니다. 예를 들어, 성능 및 효율성 문제는 통합 될 때까지 보이지 않을 수 있습니다. 우수하고 견고한 코드와 효과적인 단위 테스트는 시작에 불과합니다. 품질은 요구 사항으로 시작하고 유지 보수 활동을 통해 철저하게 따라야합니다.
3. 소프트웨어 엔지니어가 프로그램이 중단 될 수있는 방법에 대해 더 많은 시간을 투자할수록 이러한 사례를 개발할 때 이러한 사례를 더 자주 고려하여 최종 제품의 버그를 줄입니다.
그것은 완전히 진실한 진술입니다. 그러나 요구 사항에 충돌이 없는지 확인하고 설계자가 실제로 요구 사항을 해결하는지 확인하는 설계자 등도 요구 사항 엔지니어에게 달려 있습니다. 모든 사람은 자신의 작업에 구멍을 뚫고 적절한 사람들과 협력하여 멋지게 단단히 묶어야합니다.
4. "완료"에 대한 소프트웨어 엔지니어의 정의는 항상 흥미 롭습니다. 만약 QA 엔지니어로서 시간을 보낸다면이 정의는 소프트웨어 디자이너와 더 밀접하게 일치 할 것입니다.
"완료"는 요구 사항에 대해서만 측정 할 수 있습니다. 요구 사항이 충족되고 프로젝트가 완료되었거나 요구 사항이 불완전하며 프로젝트가 완료되지 않았습니다. 다른 완전한 측정 방법은 쓸모가 없습니다.