728x90

전체 글 216

양꼬치

문제 설명 머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요. 제한 사항 - 0 < n < 1,000 - n / 10 ≤ k < 1,000 - 서비스로 받은 음료수는 모두 마십니다. 입출력 예 n k result 10 3 124,000 64 6 768,000 입출력 예 #1 - 10인분을 시켜 서비스로 음료수를 하나 받아 총 10 * 12000 + 3 * 2000 - 1 * 2000 = 124,000원입니다. 입출력 예 #2 - 64인분을 시켜 서비스로 음료수를..

2장. 수동 탐색적 테스트

수동 탐색적 테스트는 요구사항 문서나 사용자 스토리에 없는 다양한 사황에서 애플리케이션의 작동을 탐색하고, 이해하는 활동으로, 탐색적 테스트를 통해 분석 또는 개발 단계에서 예상하지 못한 새로운 사용자 흐름(User Flow)나 버그를 발견하기도 한다. 수동 탐색적 테스트는 전체 애플리케이션이 배포된 테스트 환경에서 수행하며, 다양한 실시간 시나리오를시뮬레이션 하고 동작을 관찰하기 위해 데이터베이스, 서비스, 백그라운드프로세스 등 구성요소를 자유롭게 조작한다. 비지니스 요구 사항, 기술 구현 세부 사항, 최종 사용자의 요구 사항을 조앟바여 수행되며, 3가지 측면을 모두 만족 시키는 것을 목표로 한다. - 풀스택 테스트 2장 첫 내용 중.. 소위 탐색적 테스트와 수동 탐색적이랑 다른건가? 뭐지 용어가 조금..

QA 2023.07.21

1장. 10가지 풀스택 테스트

1. 수동 탐색적 테스트 - 수동 테스트는 주어진 요구 사항을 단순히 확이하는 것을 의미하지만, 수동 탐색적 테스트는 사용자 스토리 이외에 다른 시나리오를 도출하고, 테스트 환경에서 시물레이션하고, 애플리케이션 작동을 관찰하는 기술 2. 자동화된 기능 테스트 - 시프트 레프트 테스트의 핵심 중 하나로, 애플리케이션의 규모가 커졌을 경우 수동 테스트의 부담을 줄일 수 있다. 따라서 다양한 애플리케이션 계층에서 테스트를 작성하는데 사용할 수 있는 도구를 알아야 한다. 3. 지속적 테스트 - 현명한 방법은 품질 검사를 CI/CD파이프라인테 통합하고 자동화하여 테스트를 자주 실행하는 것. 4. 데이터 테스트 - 사용자의 데이터가 손실되거나, 오염되었을 경우 애플리케이션은 사용자 신뢰를 잃을 수 있다. 다양한 유..

QA 2023.07.20

1장. 시프트 레프트 테스트

전통적인 소프트웨어 개발 과정은 요구사항 분석, 설계, 개발 테스트 순이며 테스트가 가장 마지막에 수행되어야 하지만, 시프트 레프트는 개발 전반에 걸쳐 테스트를 계속 수행함으로 써, 품질 향상을 조기에 방지할 수 있도록 한다. 시프트 레프트는는 광범위한 테스트를 수행하기 위해 자동화된 테스트와 지속적인 통합 및 지속적 전달 프로세스에 크게 의존한다. 시프트 레프트는 첫번째 단계로 요구사항 검증을 위한 3-아미고 프로세스가 진행 되며, 비지니스 담당자, 개발자, 테스트가 모두 모여 추가 기능을 자세히 검토하며, 담당자는 각자의 관점에서 통합, 엣지 케이스, 누락된 비지니스 요구사항이 있는지 검토한다. 또한, 3-아미고 프로세스와 동시에 비지니스 담당자는 UX 디자이너와 협력하여, 애플리케이션 설계를 검증하..

QA 2023.07.18

Scroll

Appium에서 스크롤 액션을 하는 경우 Swipe를 쓰는 경우와, TouchAction 을 가져다 쓰는 방법 두가지가 있다.  1. TouchAction에서 Long_press 로 move_to를 이어서 사용하는 방법from appium.webdriver.common.touch_action import TouchActionactions = TouchAction(self.driver)actions.long_press(None,screenWidth/2,screenHeight*0.8).move_to(None,screenWidth/2,screenHeight*0.1).release().perform() 2. 간단하게 Swipe를 통해, 시작부터 끝의 좌표를 사용하여 Scroll하는 방법self.driver.sw..

Automation/Appium 2023.07.15

특정 문자 제거하기

문제 설명 문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요. 제한 사항 - 1 ≤ my_string의 길이 ≤ 100 - letter은 길이가 1인 영문자입니다. - my_string과 letter은 알파벳 대소문자로 이루어져 있습니다. - 대문자와 소문자를 구분합니다. 입출력 예 my_string letter result "abcdef" "f" "abcde" "BCBdbe" "B" "Cdbe" 입출력 예 #1 - "abcdef" 에서 "f"를 제거한 "abcde"를 return합니다. 입출력 예 #2 - "BCBdbe" 에서 "B"를 모두 제거한 "Cdbe"를 return합니다..

1장. 풀스택 테스트

좋은 품질을 위한 풀스택 테스트 - 과거에는 버그가 없는 애플리케이션과 소프트웨어 품질을 동일시 여겼지만, 오늘날 소프트웨어 세계에서 소프트웨어 품질은 단순히 버그가 없는 코드만 의미하지 않음. - 사용자 관점에서 품질을 정의하면 쉬운 사용성, 디자인, 보안성, 빠른 응답 속도 , 장애 없는 서비스 등으로 요약할 수 있는데 이 모든 것이 좋은 소프트웨어를 만드는 중요한 요소로 우리는 꼼꼼하게 테스트 해야 함. - 성공적인 테스트를 위해서 마이크로 수준과 매크로 수준의 테스트를 수행해야 하며, 클래스의 메서드, 입력 데이터 값, 로그 메시지, 에러 코드 같은 마이크로 측면과 기능 테스트, 기능 간 통합, 엔드 투 엔드 워크플로 같은 매크로 측면을 검증해야하며, 보안, 성능, 접근성, 가용성 등 전체의 품질..

QA 2023.07.15

문자 반복 출력하기

문제 설명 문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요. 제한 사항 - 2 ≤ my_string 길이 ≤ 5 - 2 ≤ n ≤ 10 - "my_string"은 영어 대소문자로 이루어져 있습니다. 입출력 예 my_string n result "hello" 3 "hhheeellllllooo" 입출력 예 #1 - "hello"의 각 문자를 세 번씩 반복한 "hhheeellllllooo"를 return 합니다. solution.js function solution(my_string, n) { let answer = ""; my_string.split("").map(val => a..

짝수 홀수 개수

문제 설명 정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요. 제한 사항 - 1 ≤ num_list의 길이 ≤ 100 - 0 ≤ num_list의 원소 ≤ 1,000 입출력 예 num_list return [1, 2, 3, 4, 5] [2, 3] [1, 3, 5, 7] [0, 4] 입출력 예 #1 - [1, 2, 3, 4, 5]에는 짝수가 2, 4로 두 개, 홀수가 1, 3, 5로 세 개 있습니다. 입출력 예 #2 - [1, 3, 5, 7]에는 짝수가 없고 홀수가 네 개 있습니다. solution.js function solution(num_list) { let even = 0 , odd..

728x90