본문 바로가기

SW/테스팅

SW 테스팅 : 완벽한 테스팅은 가능한 것일까? : KMOOC 완벽한 테스팅의 불가능성 완벽한 테스팅이 불가능하다고 이야기하는 게 조금 이상하다고 느낄 수 있다. 테스팅에는 분명히 이론적인 한계가 있다. 오히려 이 한계가 무엇인지 정확히 이해할 때만 올바른 테스팅 기법을 적재적소에 사용할 수 있다. Undecidable Problem 본질적으로 테스팅이 묻는 질문, 즉 ‘내가 작성한 소프트웨어가 올바르게 작동하는가?’라는 질문 자체가 답하기 어려운 한계를 가지고 있다. 이 질문에 대해서 정말 완벽한 답을 하려면 상당히 깊은 이론적인 논의를 해야 된다. 컴퓨터 알고리즘 그리고 무엇이 계산 가능한지에 대한 이론을 깊게 공부하시면 어떤 종류의 계산 문제는 알고리즘이 답을 하는 것 자체가 불가능한 문제들이 있다. undecidable한 문제라고 하고 아니면 결정 불가능한 ..
SW 테스팅 : 결함, 에러, 실패 : 개념, 기법, 관계, 사례 : KMOOC 소프트웨어의 오류 결함 흔히 소프트웨어 오류, 결함이라고 우리말로는 하나의 개념으로, 하나의 단어로 많이 부르는데요. 실제로 기술적인 맥락을 따지면 Fault와 Error, Failure라는 세 가지 개념을 구별합니다. 물론 테스팅의 목적은 세 가지 종류의 결함 자체를 모두 다 없애는 것입니다. 용어 자체의 정의를 보면 Fault는 소스코드 자체에 있는 비정상적인 요소이고 Error로 연결될 수 있는 요인입니다. 그다음 단계인 Error는 실제 실행 중에 소스코드에 존재하는 Fault가 실행이 돼서 Failure로 연결될 수 있는 요인입니다. 마지막으로 Failure는 소스코드에 존재하는 Fault가 실행돼서 에러상태를 낳았습니다. 이것이 프로그램 외부에서 관찰할 수 있는 상태까지 이어지는 것을 Fail..
SW테스팅 : 소프트웨어 품질 : 개념, 측면, 항목 : KMOOC 소프트웨어 품질 어디서나 자주 들을 수 있는 이야기이지만 소프트웨어는 지금 정말 우리 주변에 사용되지 않는 곳이 없습니다. 예전에 하드웨어로 만들었던 혹은 사람이 담당했던 업무의 상당 부분을 소프트웨어가 자동화된 기술로 처리하고 있습니다. 그렇기 때문에 점차 단순히 기술적인 진보만을 뜻하는 것이 아닙니다. 경제적인 가치를 예전보다 훨씬 더 많은 부분 소프트웨어가 만들어내고 있습니다. 전통적인 시장의 많은 부분을 소프트웨어가 대체하고 있습니다. 소매는 아마존, 그다음에 우리나라에도 있는 많은 온라인 숍들이 예전의 소매 경로를 대체하고 있습니다. 그다음에 동영상 같은 경우도 고전적인 방송사가 아니라 유튜브나 여타 많은 비디오 채널들, 엔터테인먼트의 경우에는 게임 혹은 영화의 배급채널도 요즘에는 전부 다 소프..