분류 전체보기

    [소프트웨어 공학] 블랙박스 테스트-1

    [소프트웨어 공학] 블랙박스 테스트-1

    블랙박스 테스트 명세 기반 테스트(ISO/IEC/IEEE 29119) 명세에 따른 올바른 구현여부 테스트 명세 정보 등을 이용하여 테스트 케이스 설계 요구사항 분석 / 시스템 인터페이스 / UI 명세 원시 코드 정보를 이용하지 않음 사용자 입장에서 테스트 케이스 설계 가능 개발 초기 단계부터 테스트 케이스 설계 가능 단위, 통합, 시스템, 인수 테스트 전 과정에 사용 동일 명세로 구현된 여러 시스템에 재사용 가능 기능 (누락) 오류 / 명세 오류 검출 예시 입력이 1024 이하이면 입력 값, 크면 1 증가 값 반환 // BlackBoxTest.java public class BlackBoxTest { public int bTest(int x) { return x; } } 명세에 따라 1024 이하인 경우..

    앱스토어 첫 심사와 리젝 대응 : Guideline 2.1

    앱스토어 첫 심사와 리젝 대응 : Guideline 2.1

    첫 심사 시험 하루 전날이었지만,첫 개인 앱이 세상 밖으로 나갈 준비를 마치니까 몸이 근질거려 시험공부는 때려치고 처음으로 심사를 넣어보았다! 앱스토어에 등록될 스크린샷(6.5/5.5)도 직접 만들고 인생 첫심사라니 뿌듯해하던것도 잠시 심사에 들어간지 2시간 정도만에 답장이 왔다. 첫 리젝 이게 뭐지? 하고 읽어보니 리젝당했다는 뜻이었다. 처음 읽을때만해도 통과는 됐는데 뭘 바꾸라는건가? 싶었음ㅋㅋㅋㅋㅋ 가이드라인과 함께 내용을 파파고와 함께 읽어보니 2.1 앱 완전성 앱 심사 팀에 제출하는 앱(사전 주문용 앱 포함)은 필요한 모든 메타데이터가 있고 URL이 정상적으로 작동하는 최종 버전이어야 합니다. 플레이스홀더 텍스트, 빈 웹 사이트와 기타 임시 콘텐츠는 제출하기 전에 삭제해야 합니다. 앱을 제출하기..

    협업 시 팀원과 Provisioning Profile 및  Certificate 공유하기

    협업 시 팀원과 Provisioning Profile 및 Certificate 공유하기

    iOS 앱개발을 하다보면 혼자서만 작업하는게 아닌 협업을 자주 하게 되는데요. 혼자서 개발할땐 거의 Automatically manage signing 을 켜둔 상태에서 개발하다보니 XCode 가 알아서 Provisioning Profile 을 만들어주고, 이렇게 만들어진 Provisioning Profile 엔 내 App ID, Signing Certificate, Device 가 등록되어있을테니 내 작업환경에선 실기기 빌드도 잘되고 문제가 없습니다. 하지만 팀원은 인증서와 프로비저닝 프로파일이 없기 때문에 실기기를 빌드하려고 하면 오류가 나게 됩니다. 따라서 수동으로 프로비저닝 프로파일(Provisioning Profile)과 인증서(Certificate) 을 만들고 팀원들에게 공유해 준다음 팀원들이..

    [소프트웨어 공학] JUnit

    [소프트웨어 공학] JUnit

    JUnit 이란? 자바 프로그램의 단위 테스트 프레임워크 어노테이션으로 쉽고 간결한 테스트 코드 테스트를 위해 코드에 출력문을 삽입할 필요 없음 예시 src/main/java(kr.se) 폴더에서 Calc 클래스 생성 -> File -> New -> Class 선택 package kr.se; public class Calc { //Calc.java private int res=0; public void add(int x, int y) { res=x+y; } public void sub(int x, int y) { res=x-y; } public int getResult( ) { return res; } } src/test/java(kr.se) 폴더에서 CalcTest 클래스 생성 -> Flie -> N..

    2022년 9월 회고

    2022년 9월 회고

    회고를 10월이 되자마자 바로 쓰고 싶었지만, 일도 많고 탈도 많고 너무 바쁜 한 달이었다.. 그래도 이번 한 달간 무슨 일들이 있었는지 기록해두면 쓰면서 생각도 정리되고 나중에 다시 찾아왔을 때 '아 이 때 이런 일도 있었지' 하면서 회상할 수 있을 것 같다. 블로그 리스타트 🤔 사실 블로그는 이미 예전에 깃허브 블로그로 처음 시작해서 벨로그로 이사도 했었다. 근데 그땐 포스팅에 너무 공을 들였던 것 같다. 내용 하나하나 틀린 내용은 없는지, 문맥은 적절한지 등등 완벽한 포스팅을 해야된다는 강박관념이 있어서, 어느 순간 블로그를 포기했던 것 같다. 그리고 이번에 SOPT 지원을 준비하다가 내 글쓰기 실력에 충격을 먹고 공부도 할 겸 글쓰는 연습도 할 겸 겸사겸사 시작하게 되었다. SOPT 지원 포기 😓..

    [GitKraken] 깃크라켄 테마 변경하기 - Dracula

    [GitKraken] 깃크라켄 테마 변경하기 - Dracula

    Dracula 테마 홈페이지 https://draculatheme.com/gitkraken Dark theme for GitKraken and 275+ apps — Dracula Dracula is a color scheme for code editors and terminal emulators, including GitKraken and 275+ other apps. Check the instructions to learn how to install it. draculatheme.com brew 로 설치하는 방법 brew tap dracula/install brew install --cask dracula-gitkraken 터미널에서 위 명령어를 순서대로 입력하신 다음 깃 크라켄 Preferences ..

    [소프트웨어 공학] 소프트웨어 테스트 - 2

    [소프트웨어 공학] 소프트웨어 테스트 - 2

    테스트 프로세스 ISO/IEC/IEEE 29119 테스트 프로세스 조직 테스트 프로세스 조직 수준의 테스트 정책 및 전략 수립 테스트 목표, 원칙, 접근 방식 1년 동안 심각도 레벨1 오류 수를 5% 줄인다. 테스트 관리 프로세스 테스트 계획에 따른 수행여부 모니터링, 대응 진행 상태 측정/통제, 자원 재분배, 우선순위 조정 동적 테스트 프로세스 테스트 케이스 설계, 테스트 환경 구축하여 테스트 이슈 발생 시 레포팅 개발 단계에 따른 테스트 분류 단위 테스트(JUnit, 구글테스트, Python) 모의(Mock) 객체 사용(클래스의 객체 의존성 배제) 통합 테스트 모듈 간 상호 작용 테스트 빅뱅 통합 전략 단위 테스트 후에 한꺼번에 모듈의 통합 테스트 오류 원인 찾기 곤란 점진적 통합 전략 하향식(스텁 ..

    [소프트웨어공학] 소프트웨어 테스트 - 1

    [소프트웨어공학] 소프트웨어 테스트 - 1

    소프트웨어 테스트의 중요성 소프트웨어는 일상생활을 편리하게 하지만 문제가 발생하면 위험 사전에 문제 발생 최소화를 위한 충분한 시험 필요 소프트웨어 테스트의 정의 정적 테스팅 오류 발견 및 방지 목적의 프로그램, 문서 분석과정 동적 테스팅 오류를 발견하기 위해 프로그램을 실행하는 과정 품질 평가, 향상을 위해 프로그램을 실행하는 과정 신뢰성, 성능, 편의성, 접근성, 보안성, 안전성 등 테스트 진화 과정 오류, 결함, 오작동 용어 정의 실수(mistake): 요구사항 잘못 파악 / 오해, 철자 오류 오류(error): 프로그램의 올바르지 않은 내부 상태 선행 및 후속 조건, 무결성 위배 상태 기대 값과 실제 계산 값의 차이 결함(fault): 오류를 발생시키는 프로그램 부분 잘못된 정보 반영, 올바른 정..

    [소프트웨어 공학] 디자인 패턴 Design Pattern

    [소프트웨어 공학] 디자인 패턴 Design Pattern

    디자인 패턴 전형적인 문제들에 대한 재사용 가능한 해결책 축적된 경험 활용, 불필요한 시행착오 감소 이름을 부여해서 설계 문제와 해법 및 결과 기술 문제: 고려할 제약 사항 기술 해법: 구성 요소, 요소 간 관계 및 책임, 협력관계 기술 결과: 패턴을 적용해서 얻는 결과, 장단점 기술 공통 언어 역할, 효율적인 협업 가능 디자인한 시스템의 안정성과 성능 향상 GoF (Gang of Four) 패턴 (생성/구조/행동 패턴) Factory Method 어떤 객체를 생성할 지를 기반 클래스로부터 분리하여 파생 클래스에서 결정 (캡슐화하여 분리처리) Singleton 어디서든 참조할 수 있는 객체를 하나만 생성 Adapter 클래스의 인터페이스를 다른 인터페이스로 변환 Composite 복합 객체와 단일 객체를..