2015년 9월 5일 토요일

MS 윈도10 관련 SW개발자 유의사항

MS는 최신 윈도 버전인 ‘윈도10’을 출시하고 기존 윈도 사용자 대상으로 윈도10 무료 업그레이드를 7월 29일부터 1년간 실시 중입니다.

* SW동작 중 모든 시스템 메모리와 CPU 명령어에 접근이 허가되는 상태로 커널모드에서 동작 중인 SW에 문제가 생길 경우 시스템 전체가 다운됩니다.

윈도10 인증 관련 유의사항
모든 커널모드를 활용하는 SW들은 반드시 “Windows Hardware Developer Center Dashboard Portal”을 통해 인증을 받아야 사용 가능합니다.
- 윈도10이 출시된 7월 29일로부터 90일이 지난 10월 26일부터 인증을 받은 드라이버만 사용가능하도록 변경될 예정.





















2015년 9월 4일 금요일

제16차 SP인증을 중심으로 한 SW프로세스 교육

지역SW기업의 SW개발품질관리 선진화 및 역량강화 일환으로 마련된 제16차 SP인증을 중심으로 한 SW프로세스 교육에 여러분을 모십니다.

본 교육은 국내 중소SW기업과 개발 조직의 SW프로세스 품질 향상과 신뢰성 확보에 목적이 있습니다.
SW개발자, 품질 담당자, 테스트 담당자 등을 대상으로 SW프로세스 개념과 SP인증 기준 이해를 바탕으로 실제 업무에 필요한 SW 프로세스 교육을 진행합니다.


  • 교육대상: 중소SW기업 소속 엔지니어(관리자, SW개발자, 품질담당자, 테스트 담당자)
  • 교육일시: 2015. 9. 15(화)~2015. 9. 16(수), 09:00~17:50
  • 신청기한: 2015. 8. 31(월)~2015. 9. 09(수) 18:00
  • 교육장소: 전주정보문화산업진흥원
  • 교육비용: 무료






















5G 비젼포럼 "5G New Opportunity in a Connected World"

5G 시대, 언제 어디서나 LTE보다 1천배 빠른 속도로 서비스를 제공하는 초연결 사회(Hyper-Connected society)는 어떤 모습일까?
5G 통신혁명은 속도 그 이상의 변화를 예고하고 있으며, 이러한 변화는 새로운 비즈니스 기회로 다가올 것입니다.

이에 5G 통신에 대한 비전, 주요 핵심기술 소개를 통해 글로벌 경쟁력 강화 방안 및 대응전략을 제시하고자 5G New Opportunity in a Connected World 란 주제로 
9월 10일(목) 여의도 중소기업중앙회 그랜드홀에서 [5G 비전포럼 2015]을 개최합니다.
























효과적인 자동화 테스팅 설계를 위한 7가지 Tip

자동화 기능테스트(automated functional test) 또는 유저인터페이스 테스트(UI Test)는 흔히 버그를 찾을 만큼 성능이 우수하지 못하다고 여겨지고 있습니다. 그러나 이는 테스트 툴이나 프레임웍의 문제이기보다는 디자인이 제대로 설계되지 않았기 때문입니다. 우수한 자동화 기능테스트 및 UI 테스트를 설계하는데 도움이 되는 7가지 팁에 대해 살펴 봅니다.

1. 단순히 클릭만 하지 말고, 수행 후 피드백 여부를 체크하기
2. 멈추지 말고 기다리기
3. 인덱스가 아닌 별도의 탐지기(locator) 사용하기
4. 규칙적인 표현으로 분류 순서 점검하기
5. 스스로 반복하지 않기
6. 조건문 사용하지 않기
7. 재사용 가능한 무작위 데이터를 만드는 자바스크립트를 사용하기

효과적인 테스트를 위한 설계의 중요성
  • 자동화 기능테스트를 효과적이고 지속 가능하게 만드는 몇 가지 예를 살펴보았음.
  • 지금까지의 자동화 기능테스트의 가장 큰 단점은 유지하기 힘들고 버그를 찾아낼 만큼 강력하지 않다는 것임.
  • 잘 설계된 테스트는 유지하기 어렵지 않고 애플리케이션의 상태를 제대로 체크하고 사용자와 애플리케이션 차원에서 중요한 기능을 잘 테스트하며 버그도 잘 찾아낼 수 있을 것으로 기대됨

2015년 9월 3일 목요일

모바일 html5를 통한 소프트웨어 개발 기술 변화

특별한 OS나 프로그램을 설치하지 않아도 브라우저만 있으면 동작하는 html 기반인 html5는 html에서 제공되는 기능에 다양한 그래픽과 멀티미디어 효과는 물론 액티브엑스(ActiveX)를 설치해야만 가능하던 기능까지 지원이 가능합니다. 이러한 이유로 html5를 활용한 웹 사이트와 어플리케이션들이 많이 만들어지고 있지만, html5의 파급 효과는 다른 곳에서 찾을 수 있습니다. 바로 모바일 플랫폼의 특성을 타지 않는다는 것입니다.

모바일 시장을 양분하고 있는 iOS와 안드로이드, 그리고 그 뒤를 쫓고 있는 MS는 상호 호환성이 제로이기 때문에 어플리케이션을 만들 때는 (PC 시장과 마찬가지로) 모바일 플랫폼을 선택해야 합니다. 하지만 (PC 시장과 마찬가지로) html을 활용하면 이러한 제약이 없어집니다. 브라우저를 통해 다양한 플랫폼에서 서비스를 제공할 수 있기 때문입니다. PC 시장에서 다양한 어플리케이션 개발 환경이 있었지만 웹 어플리케이션으로 통일되었던 것처럼 모바일 시장에서도 비슷한 과정을 따를 것으로 예상되고 있습니다. 이번 회에서는 PC 기반의 웹 환경에서 모바일 환경으로 변화하는 것에 따른 html5의 기술 구성과 모바일에서 높은 성능을 발휘하는 활용법에 대해 살펴보도록 합니다.

동적 임베디드 소프트웨어 테스트와 카 인포테인먼트 시스템 테스트 적용 성과

임베디드 소프트웨어는 ‘ 실시간 보증 , 자원 부족 , 런 - 타임 테스트 , 운용 환경 보존 ’ 과 같이 테스트 제약이 심한 환경에 배치되기 때문에 테스트가 쉽지 않습니다 . 본 논문에서는 운영체제가 프로세스 제어를 목적으로 관리하는 프로세스 제어 블록을 해킹함으로써 테스트 정보를 수집하는 동적 임베디드 소프트웨어 테스트 방안을 제안합니다 . 현재 ‘ 메모리 , 성능 , 프로세스 간 통신 ‘ 을 테스트하는 자동화 도구인 AMOS 를 개발하였고 , AMOS 는 자동차 산업의 카 인포테인먼트 시스템의 실차 테스트에 적용되어 품질 향상과 개발 비용 절감의 효과를 보이고 있습니다 .

소프트웨어 테스트는 개발 방법론이나 제품의 특성에 따라 개발 초기부터 개발 단계의 목적과 테스트 환경에 맞추어 차별화된 방법으로 이루어져야 합니다 . 테스트는 개발 산출물에 대한 리뷰 및 소스 코드 분석과 같은 정적 테스트 방법과 소스 코드를 실행하면서 하는 동적 테스트 방법으로 구분합니다 . 정적 테스트와 동적 테스트는 서로 보완적이어서 어느 하나가 다른 것을 대체할 수 없습니다 [Broekman et al., 2003]. 동적 테스트는 테스트 대상의 범위에 따라 단위 , 통합 , 시스템 테스트로 세분화되며 , 소스 커버리지가 95% 이상 되도록 단위 테스트를 면밀히 해도 통합 및 시스템 테스트를 피할 수는 없습니다 . 임베디드 소프트웨어의 경우 이뮬레이터 , 레퍼런스 보드 , 실제 타겟의 테스트 수행 환경에 따라서도 그 방법이 차이가 납니다 .

일반적으로 임베디드 시스템은 제한된 자원으로 최적의 성능을 위하여 제작되기 때문에 시스템을 구성하는 하드웨어와 소프트웨어들의 결합력이 매우 높습니다 . 높은 결합력 때문에 일부 소프트웨어만 독립적으로 테스트하기 힘들며 , 시스템 기능을 부분적으로 확인하기 위한 단위 , 통합 테스트가 쉽지 않습니다 . 특히 단위 , 통합 레벨의 동적 테스트는 테스트 드라이버나 상대 컴포넌트를 대신할 시뮬레이션 장비를 갖추어야 하는 경제적 어려움도 있습니다 . 따라서 많은 산업현장에선 소스코드 분석과 같은 정적 테스트 후 , 단위 및 통합 테스트를 생략하거나 비전문적으로 테스트를 수행한 후 , 실제 타겟에서 전체 시스템에 대한 동적 테스트에 집중합니다 [SEC, 2004].

문제는 최종 테스트 단계인 타겟에서의 동적 테스트에서 발견된 결함은 그 원인과 위치를 파악하는 데 수 많은 시간과 비용이 소모된다는 점입니다 . 본 논문에서는 시스템이 타겟에 배치되어 실제 운용되는 환경에서 탑재된 모든 소프트웨어 및 하드웨어 컴포넌트들이 시스템의 품질 요구사항에 맞춰 올바르게 동작하는 가에 대한 동적 테스트와 동시에 결함의 원인과 위치 파악을 자동화한 동적 임베디드 소프트웨어 테스트 방안과 이를 구현한 AMOS 도구를 제안하고 이를 산업체 적용한 결과 및 경제적 효과를 소개합니다 .

애자일 SW개발을 향상시키는 클라우드 컴퓨팅의 6가지 장점

클라우드 컴퓨팅과 가상화로 가상머신을 활용하여 프로젝트관리, 이슈관리, 자동화 테스트가 가능한 소프트웨어 빌드를 클라우드 기반의 서비스로 이용할 수 있습니다. 이를 활용하는 애자일 개발팀은 물리서버의 한계 극복, 업무의 병렬처리, 혁신활동 고취, 신속한 업무처리 등의 6가지 장점들로 프로젝트를 잘 수행할 수 있을 것으로 기대합니다.

1. 클라우드 컴퓨텅으로 테스팅, 스테이징 서버(staging server)를 무한히 제공 가능
2. 애자일 개발 업무를 병렬 처리할 수 있음
3. 혁신과 실험 정신이 장려됨
4. 지속적인 통합/인도(Delivery)가 강화됨
5. 많은 개발 플랫폼과 외부 서비스를 이용할 수 있음
6. 코드 분기와 병합이 쉬어짐

가상화와 클라우드 컴퓨팅으로 개발과 테스트에 사용되는 물리  서버의 한계에서 벗어날 수 있습니다.
가상화와 클라우드 컴퓨팅은 지속적인 통합/인도를 하려는 애자일팀에게는 필수입니다.
추가적인 서버 공급 때문에 발생되는 시간지연이 사라져 기존은 단계적인 업무진행방식이 좀 더 병렬적으로 바뀝니다.
결국 회사는 비즈니스 목적에 맞는 혁신적인 개발 프로젝트를 손쉽게 추진할 수 있습니다.