소프트웨어 별 중요한 리소스와 판단하는 방법.
·
QA성장하기/소프트웨어 공학 이해도 높이기
저번 포스팅에 이어서, 소프트웨어별로 중요한 리소스가 무엇일까 에 대해 이야기 해보려고 한다.1. CPUCPU는 멀티태스킹이나 복잡한 계산을 자주 수행하는 소프트웨어에서 중요한 역할을 한다.특히 단일 스레드 성능과 멀티코어 성능이 중요한 소프트웨어들이 CPU의 성능에 많이 의존한다.예를 들어, 동영상 편집 프로그램이나 코드를 빌드하는 과정에서 많은 연산을 요구하는 컴파일러 등CPU를 많이 사용하는 소프트웨어일수록 다른 리소스보다 CPU가 우세한지 확인해야 한다. 2. 메모리메모리는 임시 저장소로서, 현재 실행 중인 프로그램과 데이터를 저장하는 역할을 하는데,대용량 데이터를 다루는 소프트웨어에서 메모리 용량과 속도가 소프트웨어의 성능을 좌지우지한다. 예를 들어 VMware 이나 VircualBox와 같은 ..
QA가 알야아 하는 컴퓨터 하드웨어 기초상식
·
QA성장하기/소프트웨어 공학 이해도 높이기
새로운 회사에 일을 다니기 시작하면서 정신없이 몇달을 보내느라 블로그에 소홀해졌는데지금은 기능적인 부분보다는 비기능쪽에 대해 좀더 집중하고, 품질 향상을 위해서 노력하고 있다. 비기능 테스트에 대해 집중하면서 경쟁사와의 비교분석에 대한 중요성을 크게 느꼈는데,예를 들어, 동일한 기능을 기준으로 자사 제품이 경쟁사 제품에 비해 사용성, 효율성이 떨어진다면? 그것은 경쟁사에 비해 열세라고 판단할 수 있으며, 상품을 사용하는 고객들은 바보가 아니기 때문에비교적 열세라고 판단된다면, 그리고 이것이 불편하다고 생각된다면 고객을 잃을 수 있다. 효율성과 사용성 중에서 사용성은 어느정도 주관적인 판단이 들어갈 수밖에 없지만효율성은 작업관리자, 혹은 활성관리자를 통해서 비교적 객관적인 수치를 통해 비교할 수 있다. 그..
앱 공존성 테스트의 의미와 테스트 방법
·
QA성장하기/테스팅 전문 지식 쌓기
앱 공존성 테스트란?앱 공존성의 의미자원을 공유하는 공동 환경에서 다른 독립적인 소프트웨어와 공존할 수 있는 소프트웨어 능력을 의미한다.다른 앱에 나쁜 영향을 미치지 않고 하드웨어 자원을 공유하며 기능을 효율적으로 수행해야 한다.다른 독립적인 애플리케이션과 서비스할 제품간의 상호작용으로 인해 생기는 결함을 예측하여의도한 환경으로 간섭을 도입함으로서 애플리케이션의 반응을 확인한다.많은 회사에서 테스트 필요성 또는 검증필요범위로 인식하지 못하거나 예외케이스로 존재하는 경우가 많다.하지만 공존성 실패로 인해 발생하는 이슈 유형과 영향 범위가 다양해서 무시하거나 제외하면 안된다.적어도 신규 서비스 출시 및 공존성에 영향을 줄 수 있는 변경사항이 생기면 반드시 테스트해보는 것이 좋다.공존성 실패로 발생할 수 있는..
개발자에서 아키텍트로 6~7차 스터디
·
QA성장하기/개발자에서 아키텍트로 스터디
6~7차에서는 배달의 민족의 주문 시스템을 가지고 애그리거트 DDD를 그려보기로 했다.6차에서 내가 그린 플로우 차트는 아래와 같다.다른분들이 그린 플로우차트를 공유하다가 애그리거트라는 개념에 대해 알게되었고,배달의 민족 앱의 주문 시스템에서만 애그리거트를 분석해보고 7차 스터디에서 DDD를 그려보기로 했다.배달의 민족 주문 > 딜리버리 전달 > 고객 수령 흐름을 순서로 애그리거트를 그려보기로 했고,주문 기준 가게등록이 앞단에 있고, 딜리버리 뒤엔 알람, 리뷰 등의 컨텍스트가 포함되어있음을 가정했다. 처음에는 애그리거트를 먼저 만들고 그다음 액터, 커멘트 순으로 정하려고 했으나,의견에 따라서 액터와 커맨드, 도메인 이벤트를 작성한 뒤에 애그리거트를 만드는 것으로 진행했다. 우리는 위와같이 애그리거트, 액..
개발자에서 아키텍트로 3차 스터디
·
QA성장하기/개발자에서 아키텍트로 스터디
금일 개발자에서 아키텍트로 3차 스터디를 진행했다. 오늘은 7~10장까지 읽고 느낀 부분을 공유하는 시간을 가졌는데, 7,8 장은 다양한 아키텍트와 장단점을 알 수 있었고,동시에 아키텍트를 조합할 때, 어떤 부분을 주의해야 하는지에 대해서도 알 수 있었다. 9, 10장에서는 아키텍처 디자인 스튜디오에 대한 정보와 설계를 시각화하는 방법에 대해 이야기를 했고,나는 그동안 워크숍 뿐 아니라 회의나 스터디에서도 어떤 부분을 참고하면 좋을지 생각하는 계기가 되었으며,마감 시간을 설정하고 추가 토론 세선을 운영해야 겠다는 생각을 하게 되었다. 나의 경우에는 7,8장에서 배경지식이 별로 없어서 크게 느낀부분이 없었으나,아키텍트 디자인 스튜디오(워크숍) 을 어떻게 운영하는 것이 좋을지와, 10장의 범례에 대한 내용을..
개발자에서 아키텍트로 2차 스터디
·
QA성장하기/개발자에서 아키텍트로 스터디
오늘은 `개발자에서 아키텍트로`라는 책의 5~6장을 읽고 공유하는 자리를 가졌다. 5~6장에서 품질 속성에 대한 트레이드 오프와 이를 결정하기 위해서 많은 커뮤니케이션이 필요하다는 내용이 많이 나오고 있다.나는 이러한 커뮤니케이션과 관련된 팁과 추가적인 제안을 나누었다.최근 카노모델 그래프를 보게 되었는데, 실제로 커뮤니케이션할 때, 어떤 품질 속성을 위한 개발인가에 대해  분리하여 이야기하면 좋지 않을까? 해서 아래와 같은 그래프에 대해 공유해 드렸다.다른 팀원들은 그동안 회고 방식에 대해 딱딱하게 생각했는데, 생각할 수 있게 단어를 던지는 등의 마무리하는 단계에서도 활용할 수 있을 것 같다고 공유해주셨다.특히 의사결정 되기까지 알지 못했던 많은 제약이 있었던 것 같다고 말씀해 주시면서 동시에 현재 프..
개발자에서 아키텍트로 1주차 스터디
·
QA성장하기/개발자에서 아키텍트로 스터디
최근 좋은 품질에 대한 고민을 계속하다가 `QA Korea`에서 운영하는 2024 상반기 QA Study Circle을 진행하게 되었다. 공부는 `개발자에서 아키텍트로` 책을 중심으로 진행되었으며 스터디 멤버는 풀 스택 개발자, 백엔드 개발자 그리고 QA 분들이 참여하여 1~2주 간격으로 경험과 지식을 공유하고 있다. 1주 차 스터디는 1장의 소프트웨어 아키텍처부터 2장 아키텍처 설계의 기초인, 이해관계자와 공감하기 까지를 읽고 의견공유를 진행했다. 나는 품질 속성과 트레이드 오프에 대해 깊이 있게 다뤄져 있는 부분이 인상깊었다. 또한, 설계단계의 위험 요소와 QA 단계에서의 위험 요소에 대한 접근방식, 생각, 그리고 어떻게 연관되는 지에 대한 느낀 점에 대해 공유해 드렸다. 다른 QA 분의 경우, 회사..