2015년 3월 31일 화요일

자동화된 UI 단대단 테스팅 : 지각테스팅(Perceptual Testing) 수행 방안

지각테스팅(Perceptual Testing)은 UI(User Interface) 측면의 노동집약적인 수동 회귀테스팅 (regression testing)의 효율성 문제를 해결하기 위한 자동화 테스트 방법입니다. 본 원고에서는 단계별 지각테스팅 수행방안과 DPXDT, Viff와 같은 무료 오픈소스 지각테스팅 툴을 간략하게 소개합니다.
지각테스팅의 효용성은 UI 회귀 테스팅의 자동화 뿐 만 아니라 UI코드의 리팩토링이나 수정 시 발생하는 오류를 잡아냄으로써 테스팅 시간을 절감할 수 있게 해주며, 이에 따라 사용자 중심 UI개발과 SW의 품질을 제고할 수 있습니다.


메트릭을 이용한 다중언어 프로그래밍 개선 Part 1 : 개념과 방법

다중언어 코딩(Multi-language Coding)는 최근 기업개발환경에서 당연한 것으로 받아들여지고 있으며, 하나의 언어로 개발되던 시대는 지났습니다. 다중언어 코드의 예로 GWT와PHP를 들 수 있습니다. 
소프트웨어 개발의 미래를 예상해 볼 때 이러한 다중언어코딩은 무엇을 의미할까요? 예견하건데 단일 언어 전문가가 (또는 그들과) 할 수 있는 일들은 점점 줄어들게 될 것입니다. 소프트웨어 개발자들은 현재 일반적으로 개발업무를 해결하기 위해 다수의 프로그램 언어들을 사용합니다. 이러한 환경 하에서 소프트웨어 개발자들은 다음과 같은 복잡한 문제들에 봉착하고 이를 해결해야 경우가 생깁니다.


2015년 3월 28일 토요일

고신뢰 융합 SW를 위한 필수 SW공학기술 조사 용역 보고서

Summary

HW주도형에서 SW주도형 산업으로 IT산업이 진화하고 있습니다.. 이에 따라 원자력, 자동차, 고속철도, 항공우주, 의료 등의 산업분야에서 SW비중이 증가하고 있습니다. 그러나SW 개발현장에서는Dependable SW을 위한 SW공학역량 및 인프라가 매우 미흡한 상황입니다. 이에 따라SW 오류로 인하여 인적,경제적 손실을 초래하고 있습니다. 이에 고신뢰 융합 SW개발를 위한 필수 SW공학기술에 대하여 조사를 하였고, 이에 관련된 보고서를 등록합니다.


Contents

제 1 장 서 론
제 1 절 연구의 배경 및 필요성
제 2 절 연구의 목표 및 방법
제 3 절 보고서의 구성

제 2 장 고 신뢰 융합 SW를 위한 기술 연구
제 1 절 고 신뢰 융합 SW를 위한 국제 표준 연구
1. 고 신뢰 융합 SW를 위한 국제 표준의 구성
2. 산업 분야별 고 신뢰 융합 SW 국제 표준
제 2 절 고 신뢰 융합 SW를 위한 국?내외 접근 전략
1. 고 신뢰 분야에 대한 선진국의 접근 전략
2. 고 신뢰 SW 개발 도구 접근 전략

제 3 장 고 신뢰 융합 SW를 위한 SW공학기술 가이드라인
제 1 절 고 신뢰 융합 SW를 위한 SW공학기술 체계
1. 고 신뢰 융합 필수 SW공학기술 체계
2. 고 신뢰 융합 SW를 위한 SW공학기술 선정
제 2 절 고 신뢰 융합 SW를 위한 SW공학기술 적용
1. 고 신뢰 융합 SW를 위한 SW공학기술 분류
2. 고 신뢰 융합 SW를 위한 SW공학기술 적용 전략

제 4 장 고 신뢰 융합 SW를 위한 SW공학기술 연구조사 로드맵

제 5 장 결 론

부록 A. 필수 SW공학기술 소개
부록 B. 고 신뢰 분야 국제 표준의 SW공학기술

2015년 3월 24일 화요일

TMMi 레벨 5 품질 관리 프로세스 구축 방안

우리나라에서는 1960년대부터 제조업 분야를 중심으로 품질 관리 활동이 시작되었습니다. 이후 품질 관리는 제조업을 넘어서서 여러 산업 분야에서 추진되었으나, 품질 개선 활동의 효과가 크게 나타나고 있지는 않았습니다. 1993년 우리나라의 ISO 9000시리즈 도입과 더불어 부분적 품질 관리를 넘어서서 전사적 품질 경영으로 종합적인 품질 관리 활동이 전개되고 있습니다.

TMMi모델은 CMMI 모델에서 충분하게 다루지 못하고 있는 테스트 프로세스 활동들을 상세하고 제공하고 있어 테스트 프로세스 진단과 개선에 활용되고 있습니다. 또한, TMMi 재단에 의해 테스트 성숙도 수준에 대한 공식 인증 프로그램이 운영되고 있습니다. 

품질 관리 프로세스에서 요구하는 성숙도 수준은 테스트 프로세스를 통계적으로 관리하여 운영할 수 있고, 테스트 프로세스 성과가 예측 가능하여 이를 활용하여 테스트 성과가 안정적으로 유지 되도록 관리할 수 있음을 의미합니다. 


2015년 3월 5일 목요일

못말리는 소프트웨어 공학 동네_1화(코딩편)


[SW아키텍처 참조모델]클라우드 시스템 설계 참조모델(BaaS)

‘클라우드’는 웬만해선 들어봤을 친근한 용어이면서도 IT뿐 아니라 다양한 업종에서도 수시로 통용되는 단어이지만 전문가들 사이에서 조차도 그 정확한 정의가 쉽게 내려지지 않는 다소 추상적인 용어 입니다. 한편으로는 계속 꿈틀거리며 그 형체를 만들어가고 있는 포괄적인 개념이라고 할 수 있습니다.
기술 관점에서 클라우드는 하나의 메인프레임을 여러 사람이 나누어 사용하기 시작한 50년대 부터 그 개념이 생겨났다고 할 수 있으며 이후 다양한 가상화 기술과 인터넷 기술의 지속적인 발전에 힘입어 2000년대 초반부터 ‘클라우드 컴퓨팅’이라는 이름으로 형체가 조금씩 드러나기 시작했습니다. 90년 후반에 인터넷 데이터센터(IDC)가 폭발적으로 늘어나고 서버 및 스토리지 강상화 제품들이 속속 출현하는 와중에 스마트폰으로 대변되는 모바일 환경이 일상으로 파고들어온 것이 촉매 역할을 하면서 현재의 클라우드 컴퓨팅이 만들어 졌습니다. 

BaaS 서비스는 오픈된 RestAPI 형태로 서비스 되고 있으며, 모바일의 시장의 양대 OS인 Android와 iOS를 위한 SDK를 기본적으로 지원하고 있습니다. 업체에 따라 자바스크립트를 위한 라이브러리나, 신규 모바일OS나 PC용 어플리케이션 개발을 위한 SDK를 지원하는 곳도 있습니다. 최종 서비스 형태가 API제공 형태로 이루어지므로, API자체가 품질의 척도 이며, 마케팅의 수단이 됩니다. 각 서비스 업체는 상품으로서의 API의 경쟁력을 재고 하기위해서 직관적이고 이해하기 쉬운 웹 또는 PDF형태의 문서 제공 하고 있고, 동영상을 통해 연동 개발이 쉽다는 이미지를 재차 강조하고 있습니다.

BaaS프로바이더의 서비스를 사용해서 빠른 백엔드를 구성할수 있지만, 자체 구축한 백엔드에 비해 단점도 있습니다. 저장되는 모든 데이터는 항상 단말의 호출에 의해서만 저장되기 때문에 트랜젝션이 필요한 여러 데이터들을 하나의 트랜젝션으로 묶어서 처리할수가 없어 이를 감안하여 API를 사용해야하며, 경우에 따라 가비지 데이터가 쌓이거나 데이터 정합성을 보장 할수 없는 시나리오가 생길 수 있음을 감안해야 합니다.