본문 바로가기
정보처리기사

소프트웨어 공학 요점 정리

by mooyou 2021. 7. 8.
728x90
300x250

1. 애자일 프로세스 : 짧은 반복주기 / 변화에 대응 소프트웨어개발 방식

   

   1) XP : 테스트 중심 

     - TDD(Test-driven Development) : J유닛을 사용하여 모듈들을 검사, 코딩보다 테스트 먼저

     - 리팩토링(Refactoring) : 프로그램의 외부는 변경하지 않고 내부를 개선하는 활동

     - 짝프로그래밍(Pair Programming) : 2명이서 하나의 프로그램을 개발해서 소프트웨어의 생산성을 올림

 

   2) 스크럼(Scrum) : 팀단위 활동 강조

     - User Story or Product backlog : 사용자 요구사항

 

  

2. 소프트웨어 테스트

V 모델 : 개발 단계와 테스트 단계를 V 모양으로로 그린것

왼쪽의 V는 개발단계 : 요구사항/분석/ 설계/구현

오른쪽의 V는 테스트 단계 : 단위테스트/ 통합테스트 / 시스템 테스트 / 인수테스트

 

 1) 단위 테스트 : 어떤 모듈 함수를 테스트 하는것

 2) 통합 테스트 : 모듈간의 인터페이스를 테스트 ( TOP-DOWN, BOTTOM-UP, 샌드위치)

    > 빅뱅 테스트 : 모든 모듈을 한꺼번에 결합해서 테스트 하는데 이 경우는 인터페이스 오류가날 확률이 작을 경우

    > 점진적 통합 방식 : 하나의 모듈로부터 한개한개 결합해서 테스트 하는것

       - TOP-DOWN : 상위모듈로부터 하위모듈로 결합하며 테스트 (STUB : TOP-DOWN시 필요한 프로그램)

       - BOTTOM-UP : 하위모듈에서 상위모듈로 테스트(드라이버 : 바텀다운시 필요한 프로그램)

       - 샌드위치 or 하이브리드 : 탑다운과 바텀업을 동시에

 

3) 시스템 테스트 : 기능적 비기능적(성능, 보안, 가용성, 유저인터페이스) 모두 테스트 

4) 인수 테스트 : 고객이 직접 테스트 하는것 고객 밸리데이션을 한다.

  - 알파 테스트 : 고객이 제약된 환경에서 테스트 하는것

  - 베타 테스트  : 고객이 자유롭게 테스트 하는것

 


테스트 단계 

단위 > 통합 > 시스템 > 인수

 


테스트의 종류

 1) 블랙박스 테스트(Black Box Test) : 내부의 구조 모름

  • 페어 와이즈 테스팅(pair-wise testing) : 조합테스트 테스트케이스의 수를 줄이기 위해서 중복 테스트를 줄이는것
  • 동치 클래스 테스트 (Equivalence Partitioning Testing) : 입력값이 0~100까지 있으면 0과 50 100을 입력해서 테스트 하는것 이때 입력을 하는 것을 테스트 케이스 라고 한다. 
  • 경계값 분석 테스트(Boundry Value Analysis) : 경계값을 테스트 케이스로 선정할 것을 가정을 해서 0~100 사이의 값을 0, -1, 1, 100, 99, 101을 넣어보는것

 

 2) 화이트박스 테스트(White Box Test) : 테스트의 로직 구조를 보면서 테스트 내부구조 테스트

  • 문장 테스트(Statement Coverage) : 모든 문장이 한번 이상 실행되게 테스트 해라
  • 분기 테스트(Branch Coverage) : 모든 조건문 한 번 이상 수행
  • 조건 테스트(Condition Coverage) : 참과 거짓을 테스트
  • 분기/조건 테스트(Branch/Condition Coverage) : 모든 경우의 분기를 다 해 본다.

 

소프트웨어 품질

품질보증(Quality Assurance) : 품질 보증에서 프로세스의 과정이 올바른가 

  - 워크스루 : 인스펙션에 비해서 비공식적

  - 인스펙션 : 가장 공식적인 품질검토 회의이면서 중재자를 통해 소프트웨어품질을 확인 

Qualiry control : 만들어진 제품의 품질이 우수한가

(퀄리티 컨트롤 대표적인예가 테스트임 : 단위, 통합, 시스템, 인수, 블랙/ 화이트박스)

 

  

 

소프트웨어에 품질에대한 성숙도 모델

소프트웨어 품질이 얼마나 우수한가를 평가하는 모델

미국 카네기에서 만든 CMMI가 있다.

CMMI : 초기, 반복, 정의, 정량, 최적의 5등급으로 품질을 평가

 

디자인패턴

https://moo-you.tistory.com/198

 

디자인 패턴(Design Pattern) 이란?

디자인 패턴(Design Pattern)이란? 소프트웨어 프로그램을 개발할때 참조할 수 있는 해결책 또는 예제 디자인 패턴 구성요소 패턴의 이름, 문제 및 배경, 솔루션, 실제 적용된 사례, 샘플코드 목적에

moo-you.tistory.com

 

 

 

 

728x90
반응형

댓글