2016년 4월 19일 화요일

SW Testing업무매트릭스


더보기 >

오픈 소스, 새로운 패러다임을 만들다

Q: 오픈소스 (Open Source) 는 언제부터, 어떻게 생겨난 것인가요?

1960 년대는 IBM360 으로 대표되는 메인프레임이 지배하던 시대였습니다. 이 당시에는 소프트웨어와 하드웨어가 밀접하게 결합 (bundling) 되어 있었기 때문에 특정 기종을 위해 만들어진 소프트웨어는 다른 기종에서 작동하지 않았죠. 이때 IBM 은 소프트웨어 소스코드를 하드웨어와 함께 제공했고, 운영체제 소프트웨어의 소스코드를 폐쇄하지 않았습니다. 그러나 IBM 이 ‘반독점법’ 패소에 대한 대응방안의 하나로 소프트웨어를 하드웨어와 분리(unbundling) 하면서 소프트웨어 자체가 중요한 산업이 되었고, 기업들간의 경쟁이 심화되면서부터 소프트웨어의 소스코드는 기업의 비밀이 되었습니다. 그리고 모든 기업들에게 소스코드는 경쟁우위를 보장해주는 기술자원으로 변하였죠.

이러한 흐름의 다른 한쪽에서는 소스코드를 공개하는 새로운 흐름이 형성되고 있었습니다. 1969 년 AT&T 의 벨연구소에서 근무하고 있던 켄 톰슨 (Ken Thompson)이 개인적인 연구를 수행하기 위해 유닉스 (Unix) 라는 운영체제를 만들었는데요. 이 운영체제는 C 라는 새로운 고급 언어로 작성되었는데, 이는 하드웨어에 종속되지 않는 특징을 지니고 있었습니다. 이로 인해 벨 연구소가 아닌 곳에서도 유닉스를 사용할 수 있게 되었고, 이렇게 개발된 유닉스의 소스코드는 주로 연구기관을 중심으로 배포되었습니다.

1980 년대 들어 유닉스는 전세계의 대학이나 연구기관으로 퍼져 나갔으며, 이러한 경향으로 인해 기업들은 유닉스가 시장성이 있음을 인지하고, 유닉스 기종을 만들기 시작했습니다. 이로 인해 유닉스는 상업화의 길을 걷기 시작했죠. 1984 년 ‘독점금지법’ 과 관련해서 AT&T 분할이 이루어지면서 AT&T 가 컴퓨터업계에 진출할 수 있게 되었는데요. 이 과정을 통해 AT&T 는 과거 거의 무료로 소스코드를 공개하던 방식에서 유닉스의 상품화로 입장을 바꾸어, 가격도 오르고 소스 코드 역시 엄격하게 관리되어 더 이상 개방되지 않게 되었습니다.

이렇게 유닉스 분야에 상업화 바람이 불면서 유닉스 초기에 존재하던 활발한 소스코드 공개 문화는 사라져 버리게 되어, 결국 제각각이 되어버린 유닉스들은 점차 폐쇄적으로 바뀌어 호환성을 갖지 못하게 되는 상태까지 이르게 됩니다.

유닉스의 상업화 경향이 강화되면서 이에 대한 반발의 움직임으로 자유소프트웨어 운동이 추진되기 시작했는데요. 폐쇄적으로 진행되어 가는 상업용 유닉스의 흐름과는 별개로 자유소프트웨어 (Free Software) 가 개발되기 시작한 것입니다.

1983 년 경에 시작된 GNU 프로젝트는 리차드 스톨만 (Richard Stallman) 이 주도하였는데요. 이 프로젝트의 목표는 기술적으로 완벽한 ‘유닉스 호환 소프트웨어 체계를 개발하는 것’ 이었습니다. 그러나 GNU 는 기술적으로 유닉스와 같지만, 사용자들에 자유를 준다는 점에서 유닉스와는 본질적으로 달랐습니다 . 결국 사회적 측면에서 볼 때 , GNU 프로젝트는 기술적으로는 동등하지만 사회적으로는 완전히 다른 소프트웨어를 개발하는 것이었죠. 스톨만이 추구한 것은 ‘사적 독점 소프트웨어 사회체계’ 에 맞서 소프트웨어를 공유하고 협력하는 공동체를 만들고, 궁극적으로는 ‘사적 독점 소프트웨어’ 를 완전히 극복하는 것이었습니다. 그래서 스톨만은 이 프로젝트를 수행하기 위해 1985년 ‘자유 소프트웨어 재단(Free Software Foundation)’ 을 설립하였습니다.

빅데이터 - 정제와 분석 편

빅데이터 정제
원하는 데이터를 얻기 위해서는 수집된 데이터를 정제하는 과정을 거쳐야 한다. 빅데이터에서 가장 중요한 작업 중의 하나로, 정제가 제대로 이루어지지 않을 경우 데이터의 구성이 일관되지 않아 빅데이터 분석을 할 수 없게 된다.
빅데이터 정제는 다양한 매체로부터 데이터를 수집하여 원하는 형태로 변환하여 빅데이터화 한 후 원하는 장소에 저장하고 저장된 데이터를 활용할 수 있는지 품질을 확인하고 관리한다( 그림 1 참조 ). 수집된 데이터는 원시 데이터 형태지만 빅데이터 정제를 거치면 빅데이터 분석을 할 수 있는 구조를 갖추게 된다.

2016년 4월 18일 월요일

소프트웨어공학센터 전문위원 채용 공고


직위 : 상근 전문위원
상근 : 1명 (계약기간 2년)

자격요건
  • SW산업 분야에서 15년 이상의 실무경험(관련 프로젝트 또는 컨설팅 실적 등)을 보유한 분
  • SW분야에서 기술 또는 논문 수상경력, 기술 또는 방법론 개발 등 해당 전문분야에서 대외적으로 그 업적을 인정받은 분
  • SW분야에서 한국의 현실을 이해하고 넓은 인적 네트워크와 국제적 감각을 지닌 분
  • 해당 전문분야에 대한 국제 유명학회 Fellow 수준에 준하는 학문적 탁월성을 성취한 박사학위 소지자 우대


직무수행내역
  • 센터에서 추진하는 과제 참여 및 기술자문
  • SW공학기술 및 프로젝트 성과 등 대외 발표를 통한 SW공학 보급과 확산


서류 제출기간 : 2016. 4. 11(월) ~ 2016. 4. 29(금) 16:00까지

채용공고 자세히 보기 → 

테스트 전략



객체지향 테스트를 위해서는 객체지향 테스트 계획간 고려사항으로 전략과 절차, 조직, 자동화 도구를 고려해야 하며, 수행을 위한 고려사항으로 테스트 무결성 검증(debugging), 테스트 준모델(ISO14598), 테스트 결과의 저장(리포지토리), 테스트 방법(동적, 정적) 고려해야 한다.



임베디드SW 테스트 전략은 시장의 상황 제품의 특성에 따라 달라지고 통합과 자동화에 대한 검증방법을 사용하여 통합, 테스트 단계에서 유연하게 대처해야 하기 때문에 프레임워크를 통해 용해야 한다.
테스트 전략이 수립된 단계에서부터 결함을 발견하여 보다 저렴한 비용으로 결함을 해결하고 개발 주도로 제품의 출시 납품 일정을 관리할 있게 되어 고객만족을 향상시킬 있다.


애자일 명주기에서의 테스팅 전략


애자일 테스트 전략의 경우 애자일 방법론과 프로젝트에서 주어진 다양한 상황에 맞추어 테스트를 추진해야 한다.


2016년 4월 15일 금요일

SW테스트 관점별 전략 개발 요소


테스트 전략은 단기 장기 테스트 요구사항 비즈니스 위험을 프로파일링 하고 개발자와 리소스 등의 환경 요소와 조직적 요구를 포함하는 테스트 전략을 개발하고 다양한 관점에서 평가할 있도 수립해야 한다