품생품사(品生品死)

소프트웨어 품질에 살고 품질에 죽는 그런 평범한 일상 블로그

반응형

TESTING 108

[TESTING] QA가 바라보는 개발자 테스트에 대하여

개발자는 분명 테스트 했는데 QA가 테스트하면 로그인부터 안 되는 이유?[상황]아래 상황을 예로 들어보겠습니다.개발이 완료되고, QA 단계에서 테스트하게 된 상황입니다.QA 담당자 : 빌드 주세요.개발자 : 1.0.0 빌드 올렸습니다. 테스트 부탁드립니다.QA 담당자 : 1.0.0 설치했는데 앱이 실행이 안 되네요? 재빌드 부탁드립니다.개발자 : 빌드 옵션이 잘못돼서 재빌드했습니다. 1.0.1로 설치해서 재확인 부탁드립니다.QA 담당자 : 설치는 되었는데 로그인이 안 됩니다. 확인 부탁드립니다. 한 번쯤은 경험해 보았을 상황이라 생각합니다. [중략]왜 이런 일이 발생할까요? 이유는 매우 간단합니다. 테스트 방법이 다르기 때문인데요. 간혹 정말 생각지 못한 범위에서 결함이 발생하기도 합니다. 이 경우에는 ..

TESTING 2024.04.06

[TEST AUTOMATION] 테스트 자동화를 시작하는 QA 혹은 테스트 엔지니어들을 위해

테스트 자동화를 처음 구축 하기 위해 필요한 정보 2024년 현재 QA 및 테스트 업계에는 테스트 자동화에 대한 관심이 많은 것 같습니다. 예전부터 관심이 많았지만 많은 기업의 수요도 많아지는 것이 느껴지기도 하고 질문도 많고 궁금한 것이 많은 시기인 것 같습니다. 그래서 조금이나마 테스트 자동화를 준비하는 QA 혹은 엔지니어분들을 위해 흩어져 있는 정보들을 조금씩 모아서 정리를 해보았습니다. 결론 부터 말씀드리면 테스트 자동화는 쉽지 않습니다. 개발 지식? 프로그래밍이 어려운 것이 아닙니다. 프로그래밍 언어는 습득 가능하고 노력하면 누구나 할 수 있습니다. 어렵다고 하는 부분은 끝없는 작업이기 때문입니다. 작은 변화에 매우 민감하기 때문에 어렵다고 말씀드리는 것입니다. 테스트 자동화에 성공하기 위해서 ..

[데이터 사이언스 코딩 - Chap.14] 실습 음료의 칼로리 문제 풀어보기

[문제] 스타벅스 음료의 칼로리는 얼마일까요? 스타벅스 음료의 칼로리 및 영양소 정보가 있습니다. 스타벅스 음료의 칼로리 분포는 어떻게 되는지, 히스토그램을 그려서 확인해 봅시다. 원하는 결과가 나오도록 df.plot() 메소드의 괄호를 채워 보세요! df.plot() # 괄호를 채워 주세요. 칼로리의 구간은 총 20개로 나누어 주세요. 과제 해설 주어진 데이터의 'Calories' column에는 칼로리 정보가 저장되어 있습니다. %matplotlib inline import pandas as pd df = pd.read_csv("data/starbucks_drinks.csv") df['Calories'] 0 3 1 4 2 5 3 5 4 70 ... 237 320 238 170 239 200 240 1..

TESTING/PROGREMING 2021.08.26

[데이터 사이언스 코딩 - Chap.13] 실습 실리콘밸리에 일하는 사람 찾기 문제 풀어보기

[문제] 실리콘 밸리에 일하는 사람 찾기 1탄 실리콘 밸리에서 일하는 사람들의 정보가 있습니다. 직업 종류, 인종, 성별 등이 포함되어 있습니다. 실리콘 밸리에서 일하는 남자 관리자 (Managers)에 대한 인종 분포를 막대그래프로 다음과 같이 그려봅시다. 과제 해설 우선 데이터 내용을 확인해 봅시다. %matplotlib inline import pandas as pd df = pd.read_csv('data/silicon_valley_summary.csv') df 우리는 관리자 (Manager) 직군의 남자에 대한 그래프를 그리려고 합니다. 따라서 'job_category'는 'Manager'이고, 'gender'는 'Male'인 데이터만 뽑아봅시다. boolean_male = df['gender'..

TESTING/PROGREMING 2021.08.19

[데이터 사이언스 코딩 - Chap.12] 실습 강의실 배정하기 문제 풀어보기

강의실 배정하기 1탄 수강 신청이 완료되었습니다. 이제 각 과목을 수강하는 학생수에 따라 크기가 다른 강의실을 배치하려고 합니다.강의실은 규모에 따라 “Auditorium”, “Large room”, “Medium room”, “Small room” 총 4가지 종류가 있습니다. 아래 조건에 따라 강의실 종류를 지정해 주세요. 80명 이상의 학생이 수강하는 과목은 “Auditorium”에서 진행됩니다. 40명 이상, 80명 미만의 학생이 수강하는 과목은 “Large room”에서 진행됩니다. 15명 이상, 40명 미만의 학생이 수강하는 과목은 “Medium room”에서 진행됩니다. 5명 이상, 15명 미만의 학생이 수강하는 과목은 “Small room”에서 진행됩니다. 폐강 등의 이유로 status가 “..

TESTING/PROGREMING 2021.08.09

[데이터 사이언스 코딩 - Chap.11] 실습 수강신청 준비하기 문제 풀어보기

[문제] 수강신청 준비하기 2,000명의 품생사 대학교 학생들이 수강신청을 했습니다. 수강신청에는 다음 3개의 조건이 있습니다. “information technology” 과목은 심화과목이라 1학년은 수강할 수 없습니다. “commerce” 과목은 기초과목이고 많은 학생들이 듣는 수업이라 4학년은 수강할 수 없습니다. 수강생이 5명이 되지 않으면 강의는 폐강되어 수강할 수 없습니다. 기존 DataFrame에 “status”라는 이름의 column을 추가하고, 학생이 수강 가능한 상태이면 “allowed”, 수강 불가능한 상태이면 “not allowed”를 넣어주세요. 조건 1: “information technology” 과목은 심화과목이라 1학년은 수강할 수 없습니다. 총 세 개의 조건이 있습니다. ..

TESTING/PROGREMING 2021.08.08

[데이터 사이언스 코딩 - Chap.10] 실습 DataFrame 퍼즐 문제 풀어보기

[문제] DataFrame 퍼즐 풀기 데이터프레임이 있습니다. 코드를 4줄만 써서, 아래 데이터프레임으로 바꿔보기 입니다. 어느 부분이 바뀌었을까요? 잘 안풀린다면, 아래 설명을 보면서 하나씩 풀어보시기 바랍니다. 과제 해설 두 이미지를 잘 살펴보면, 세 가지의 변화가 있었음을 발견할 수 있습니다. 'A' column이 모두 2배가 되었습니다. 이 변화는 아래와 같이 작성할 수 있습니다. df['A'] = df['A'] * 2 'B'에서 'E'까지의 column은 80보다 큰 것은 1, 작은 것은 0으로 바뀌었습니다. 이 내용은 리스트와 불린 연산을 활용해서 해결할 수 있습니다. # 80보다 작은 값은 0으로 변경 lowers = df.loc[:, 'B':'E'] < 80 df[lowers] = 0 # ..

TESTING/PROGREMING 2021.08.03

[데이터 사이언스 코딩 - Chap.9] 실습 서류 전형 합격 여부 문제 풀어보기

과제 - 서류 전형 합격 여부 판단하기 토익 시험은 LC(듣기) 파트와 RC(독해) 파트로 이루어져 있습니다. 각 파트가 495점 만점, 총 990점이 만점입니다. “S전자”에 입사하기 위해서는 토익 점수를 제출해야 하는데요. 각 파트가 최소 250점, 총 점수가 최소 600점이 되어야 서류 전형을 합격할 수 있습니다. 기존 DataFrame에 “합격 여부”라는 column을 추가하고, 합격한 지원자는 불린 값 True, 불합격한 지원자는 불린 값 False를 넣어주면 됩니다. 과제 해설 두 가지 조건을 모두 만족해야 서류 전형에 합격합니다. 각 조건을 먼저 살펴보고, 두 조건을 합치는 방식으로 접근해야 합니다. 두 파트의 합이 600점을 넘어야 한다. 먼저 두 파트의 합이 600점을 넘는지 확인해 봅시..

TESTING/PROGREMING 2021.08.02

[데이터 사이언스 코딩 - Chap.8] 실습 - 잘못된 DataFrame 고치기 문제 풀어보기

과제 - 잘못된 DataFrame 고치기 키와 몸무게가 담겨 있는 한 DataFrame이 있는데요. 몇 가지 잘못된 사항들이 있습니다. 아래 예시를 통해 DataFrame을 바로 잡아 보도록 합시다. 해야 할 일이 세 가지 있습니다. ID 1의 무게를 200으로 변경하세요. ID 21의 row를 삭제하세요. ID 20의 row를 추가하세요. ID 20의 키는 70, 무게는 200입니다. 딱 3줄의 코드만 추가하면 됩니다. 과제 해설 우리는 크게 세 가지 일을 해야 합니다. ID 1의 무게를 200으로 변경하세요. ID 21의 row를 삭제하세요. ID 20의 row를 추가하세요. ID 20의 키는 70, 무게는 200입니다. 하나씩 해결해 보도록 합시다. ID 1의 무게를 200으로 변경 import p..

TESTING/PROGREMING 2021.08.01

[데이터 사이언스 코딩 - Chap.7] 실습 DataFrame 인덱싱 문제 풀어보기(2)

과제 - DataFrame 인덱싱 이번에는 DataFrame에서 연속된 여러 줄을 찾는 연습을 해보려합니다. 방송사는 'KBS'에서 'SBS'까지, 연도는 2012년부터 2017년까지의 시청률만 확인하려면 어떻게 해야하는지 아래 문제를 풀면서 확인해 보도록 하겠습니다. 리스트 슬라이싱 방송사는 'KBS'에서 'SBS'까지, 연도는 2012년부터 2017년까지의 시청률만 확인하려면 어떻게 하면 될까요? 만약 2012년부터 2017년까지의 모든 데이터를 확인하고 싶다면 리스트 슬라이싱을 활용하면 됩니다. import pandas as pd df = pd.read_csv('data/broadcast.csv', index_col=0) df.loc[2012:2017] 아래와 같이 표시될 것입니다. 만약, 방송사 ..

TESTING/PROGREMING 2021.07.29

[데이터 사이언스 코딩 - Chap.6] 실습 DataFrame 인덱싱 문제 풀어보기(1)

과제 - DataFrame 인덱싱 데이터의 중요성을 깨달은 “품생카드”와 “품사카드”가 협업을 하기로 결정했습니다. 두 카드사는 사람들이 요일별로 지출하는 평균 금액을 “요일”, “식비", “교통비”, “문화생활비”, “기타” 카테고리로 정리해서 우리에게 공유해 주기로 했는데요. 각각 lq.csv 파일과 dq.csv 파일을 보냈습니다. 두 회사의 데이터를 활용해서, 사람들의 요일별 문화생활비를 분석해보려 합니다. 아래와 같은 형태로 출력이 되도록 DataFrame을 만들어보세요. day lq dq 0 MON 4308 5339 1 TUE 7644 3524 2 WED 5674 5364 3 THU 8621 9942 4 FRI 23052 33511 5 SAT 15330 19397 6 SUN 19030 19925..

TESTING/PROGREMING 2021.07.28

[데이터 사이언스 코딩 - 정보] Pandas : DataFrame을 만드는 방법 알아보기

From list of lists, array of arrays, list of series 2차원 리스트나 2차원 numpy array로 DataFrame을 만들 수 있습니다. 심지어 pandas Series를 담고 있는 리스트로도 DataFrame을 만들 수 있습니다. 따로 column과 row(index)에 대한 설정이 없으면 그냥 0, 1, 2, ... 순서로 값이 매겨집니다. import numpy as np import pandas as pd two_dimensional_list = [['dongwook', 50, 86], ['sineui', 89, 31], ['ikjoong', 68, 91], ['yoonsoo', 88, 75]] two_dimensional_array = np.array(t..

TESTING/PROGREMING 2021.07.24

[데이터 사이언스 코딩 - Chap.5] 실습 Pandas 문제 풀어보기

아래와 같은 결과가 나오도록 DataFrame을 만들고 출력해 보겠습니다. column은 name, birthday, occupation 총 3개입니다. 1단계 우선 DataFrame에 들어갈 정보가 담긴 2차원 파이썬 리스트를 만들어 주세요. 2차원 파이썬 리스트는 이렇게 작성할 수 있습니다. celebrities = [ ['Taylor Swift', 'December 13, 1989', 'Singer-songwriter'], ['Aaron Sorkin', 'June 9, 1961', 'Screenwriter'], ['Harry Potter', 'July 31, 1980', 'Wizard'], ['Ji-Sung Park', 'February 25, 1981', 'Footballer'] ] 2단계 이제 ..

TESTING/PROGREMING 2021.07.23

[데이터 사이언스 코딩 - Chap.4] 실습 numpy 기본 통계 문제 풀어보기

최댓값, 최솟값 max 메소드와 min 메소드를 사용하면 numpy array의 최댓값과 최솟값을 구할 수 있습니다. import numpy as np array1 = np.array([14, 6, 13, 21, 23, 31, 9, 5]) print(array1.max()) # 최댓값 print(array1.min()) # 최솟값 31 5 평균값 mean 메소드를 사용하면 numpy array의 평균값을 구할 수 있습니다. import numpy as np array1 = np.array([14, 6, 13, 21, 23, 31, 9, 5]) print(array1.mean()) # 평균값 15.25 중앙값 median 메소드를 사용하면 중간값을 구할 수 있는데요. 특이하게 median은 numpy ar..

TESTING/PROGREMING 2021.07.21

[데이터 사이언스 코딩 - Chap.3] 실습 Numpy.array 문제 풀어보기

Numpy.array 실습 문제 Jimmy가 창업한 품새사닭갈비 신주쿠점은 이제 직장인들에게 소문난 맛집입니다. 그러나 매일같이 성공적인 것은 아닙니다. 목표 일 매출을 달성하지 못하는 날들이 아직 꽤 있었습니다. Jimmy가 생각하는 성공적인 하루 매출은 20만 엔입니다. 성공적이지 않은 날의 매출만 골라서 보고 싶습니다. 20만 엔 이하의 매출만 담긴 numpy array를 출력해보겠습니다. 📌 반복문은 사용하지 안 됩니다! 📌 정답 출력 코드는 print가 없는 방식으로 작성해 주세요. (예시: bad_days_revenue) numpy array의 좋은 점은 리스트 안의 데이터를 반복문 없이 한 번에 분석할 수 있다는 것입니다. 우리의 매출이 revenue_in_yen 이라는 변수에 리스트 형태로..

TESTING/PROGREMING 2021.07.20

[데이터 사이언스 코딩 - Chap.2] 실습 Numpy.array 문제 풀어보기

Numpy.array 실습 문제 품생사닭갈비 신주쿠점의 흥행에 성공한 Jimmy는 여세를 몰아 LA에도 가맹점을 하나 냈습니다. 이제 아버지께 매출을 보고하기 위한 프로세스가 조금 복잡해졌습니다. 각 지점의 매출을 원화로 변환시키고 더해야 하죠. 1엔에 10.38원, 1달러에 1342원이라고 가정합니다. 그리고 두 지점의 매출의 합이 원화로 담긴 numpy array를 만들어 출력합니다. 📌 반복문은 사용하지 안 됩니다! 📌 정답 출력 코드는 print가 없는 방식으로 작성해 주세요. (예시: won_array) revenue_in_yen에 엔화(¥) 매출 데이터가, revenue_in_dollar에 달러($) 매출 데이터가 담겨 있습니다. import numpy as np revenue_in_yen =..

TESTING/PROGREMING 2021.07.19

[데이터 사이언스 코딩 - Chap.1] 실습 Numpy.array 문제 풀어보기

Numpy.array 실습 문제 일본에는 한식 열풍이 불고 있습니다. 기회를 엿본 영훈이는 대기업을 퇴사하고 신주쿠에 프랜차이즈 ‘품생사닭갈비’ 가맹점을 냈습니다. 그러나 보수적인 아버지께서는 번듯한 직장을 박차고 나온 영훈이가 못마땅합니다. 아버지를 안심시켜 드리기 위해 매달 매출을 보고하려고 하는데요. 엔화(¥)로 저장한 매출 데이터를 원화(₩)로 변환하는 작업이 필요합니다. numpy를 이용하여 엔화 매출이 담겨 있는 파이썬 리스트가 주어졌습니다. 1엔에 10.38원이라고 가정하고, 원화 매출이 담긴 numpy array를 만들어 출력해 주세요. 📌 반복문은 사용하면 안 됩니다! 📌 정답 출력 코드는 print가 없는 방식으로 작성해 주세요. (예시: won_array) revenue_in_yen에..

TESTING/PROGREMING 2021.07.18

[데이터 사이언스 코딩] numpy array를 만드는 다양한 방법에 대해서 알아보자

파이썬 리스트를 통해 생성 numpy 모듈의 array 메소드에 파라미터로 파이썬 리스트를 넘겨주면 numpy array가 리턴됩니다. array1 = numpy.array([2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31]) print(array1) [ 2 3 5 7 11 13 17 19 23 29 31] 일한 값으로 생성 numpy 모듈의 full 메소드를 사용하면, 모든 값이 같은 numpy array를 생성할 수 있습니다. array1 = numpy.full(6, 7) print(array1) [7 7 7 7 7 7] 모든 값이 0인 numpy array 생성 모든 값이 0인 numpy array를 생성하기 위해서는 full 메소드를 사용하면 됩니다. 그리고 더 간편한 방법도..

TESTING/PROGREMING 2021.07.17

[데이터 사이언스 코딩] Jupyter Notebook : Markdown에 대해서 알아보자.

아래 사이트들은 Markdown을 실시간으로 사용해볼 수 있는 온라인 서비스입니다. 직접 하나씩 연습해 보시길 추천 드립니다. Online Markdown Editor - Dillinger, the Last Markdown Editor ever. Make something great today! dillinger.io StackEdit stackedit.io 제목 #를 사용하여 단계별로 제목을 표현할 수 있습니다. #을 하나만 쓰면 1단계 제목이고, # 을 4개 사용하면 4단계 제목이 됩니다. 단계가 높아질수록 글자 크기가 작아집니다. # 이것은 1단계 제목입니다. ## 이것은 2단계 제목입니다. ### 이것은 3단계 제목입니다. #### 이것은 4단계 제목입니다. 이것은 일반 글입니다. 번호가 있는 목..

TESTING/PROGREMING 2021.07.16

[데이터 사이언스 코딩] 어떻게 무엇을 왜 해야 할까요?

데이터 사이언스를 하기 위해서는 무엇부터 어떻게 해야 할까요? 데이터 사이언스를 시작하기 위해 어떠한 절차로 시작을 해야할지 알아 보도록 하겠습니다. 그리고 각 단계별 무엇을 준비하고, 해야할지도 함께 알아보도록 하겠습니다. 문제 정의하기 데이터 모으기 데이터 다듬기 데이터 분석하기 데이터 시각화 및 커뮤니케이션 문제 정의하기 해결하고자하는 문제를 정의하기 문제 정의하기 ✔ 이 단계에서는 해결하고자 하는 게 무엇인지, 언제까지 어떤 결과물을 얻을 것인지, 어떤 방식으로 데이터를 활용할 것인지 등을 설정합니다. 아무 목적 없이 데이터를 살펴 보면, 의미 있는 발견을 하지 못하기 때문입니다. 목표 설정하기 기간 설정하기 평가 방법 설정하기 필요한 데이터 설정하기 데이터 모으기 필요한 데이터를 모을 수 있는 ..

TESTING/PROGREMING 2021.07.14
728x90
반응형