About AB180
home
AB180 Culture
home

AB180 QA Engineer μ‚¬μ „κ³Όμ œ μ•ˆλ‚΄

μ•„λž˜μ˜ λ‚΄μš©μ„ μ°Έκ³ ν•˜μ—¬ hr@ab180.co둜 μ œμΆœν•΄μ£Όμ„Έμš”.

문제: λͺ¨λ°”일 ν…ŒμŠ€νŠΈ μ‹œλ‚˜λ¦¬μ˜€ 섀계

κ°œμš”

AB180μ—μ„œ μƒˆλ‘­κ²Œ μ‡Όν•‘ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μΆœμ‹œν•˜κ³ μžν•©λ‹ˆλ‹€. ν”„λ‘œν†  νƒ€μž…μœΌλ‘œ μ œμž‘λœ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ— λŒ€ν•΄ μ•„λž˜μ˜ λ‚΄μš©μ„ μ°Έκ³ ν•˜μ—¬ ν…ŒμŠ€νŠΈ μ‹œλ‚˜λ¦¬μ˜€μ™€ μžλ™ν™” μ½”λ“œλ₯Ό 섀계, μž‘μ„±ν•΄ μ£Όμ„Έμš”.

μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ μ†Œκ°œ

κΈ°λŠ₯ μ†Œκ°œ

1.
빨간색 μƒμž (β‘ λ²ˆ)
β€’
AB Marketμ—μ„œ 판맀 쀑인 λ¬Όν’ˆ λͺ…μž…λ‹ˆλ‹€.
2.
μ΄ˆλ‘μƒ‰ μƒμž (β‘‘λ²ˆ)
β€’
μ†ŒλΉ„μžκ°€ ꡬ맀할 λ¬Όν’ˆμ˜ μˆ˜λŸ‰μž…λ‹ˆλ‹€.
β—¦
0을 ν¬ν•¨ν•œ μ–‘μ˜ μ •μˆ˜λ§Œ μž…λ ₯ κ°€λŠ₯ν•˜λ©° μ΅œλŒ€ 100κΉŒμ§€ μž…λ ₯ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
β—¦
100을 μ΄ˆκ³Όν•˜λŠ” 수λ₯Ό μž…λ ₯ν•˜λŠ” 경우 100으둜 μΉ˜ν™˜λ©λ‹ˆλ‹€.
β€’
μ†ŒλΉ„μžλŠ” 각 λ¬Όν’ˆ 별 μˆ˜λŸ‰μ„ μ •ν•΄ ꡬ맀 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
β€’
μœ„ 이미지λ₯Ό κΈ°μ€€μœΌλ‘œ AB BeerλΌλŠ” μƒν’ˆμ„ 20개 ꡬ맀λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.
3.
λ…Έλž€μƒ‰ μƒμž (β‘’λ²ˆ)
β€’
κ΅¬λ§€ν•˜λ €λŠ” λ¬Όν’ˆμ˜ 총 ꡬ맀앑을 μ˜λ―Έν•©λ‹ˆλ‹€.
β€’
κΈ°λ³Έ λ©”μ‹œμ§€λŠ” 총 κΈˆμ•‘μ€ 0μ›μž…λ‹ˆλ‹€. κ°€ 좜λ ₯λ˜μ–΄ 있으며 보라색 μƒμž(β‘£ 번)의 λ²„νŠΌμ„ λˆ„λ₯΄λ©΄ ν˜„μž¬ μž…λ ₯λ˜μžˆλŠ” μˆ˜λŸ‰μ— 맞좰 κΈˆμ•‘μ„ κ³„μ‚°ν•˜μ—¬ 좜λ ₯ν•©λ‹ˆλ‹€.
β€’
μœ„ 이미지λ₯Ό κΈ°μ€€μœΌλ‘œ AB Beer 20개, AB Cocoa 3개, AB Coke 4개, AB Banana 8개 ꡬ맀 μ‹œ 180,000원을 μ˜λ―Έν•©λ‹ˆλ‹€.
4.
보라색 μƒμž (β‘£λ²ˆ)
β€’
ν„°μΉ˜ μ‹œ ν˜„μž¬ μž…λ ₯λ˜μ–΄ μžˆλŠ” μˆ˜λŸ‰μ— 맞좰 κΈˆμ•‘μ„ λ…Έλž€μƒ‰ μƒμž(β‘’λ²ˆ)에 좜λ ₯ν•©λ‹ˆλ‹€.
β€’
이후 μ„œλ²„λ‘œ ꡬ맀 μ™„λ£Œ 응닡을 전달 λ°›μŠ΅λ‹ˆλ‹€.

μΆ”κ°€ μ„€λͺ…

β€’
ν•΄λ‹Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ€ μ•„λž˜ ν”Œλž«νΌμ— λŒ€ν•΄ μ§€μ›λ©λ‹ˆλ‹€.
β—¦
Android 7.0 ~ 13
β—¦
iOS 11.0 ~ 15.0
β€’
각 λ¬Όν’ˆμ˜ 가격은 μ‚¬μš©μžμ—κ²Œ λ…ΈμΆœλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
β€’
μˆ˜λŸ‰μ— λŒ€ν•œ 기본값은 0 이며 앱을 μ’…λ£Œ ν›„ 재 μ‹€ν–‰ν•  λ•Œλ§ˆλ‹€ μ΄ˆκΈ°ν™” λ©λ‹ˆλ‹€.

문제 1. ν…ŒμŠ€νŠΈ μ‹œλ‚˜λ¦¬μ˜€ 섀계

μ•„λž˜μ˜ μš”κ΅¬μ‚¬ν•­κ³Ό μœ μ˜μ‚¬ν•­μ„ μ°Έκ³ ν•˜μ—¬ ν”„λ‘œν†  νƒ€μž…μœΌλ‘œ μ œμž‘λœ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ— λŒ€ν•΄ ν…ŒμŠ€νŠΈ μ‹œλ‚˜λ¦¬μ˜€λ₯Ό μ„€κ³„ν•΄μ£Όμ„Έμš”.
β€’
μš”κ΅¬μ‚¬ν•­
β—¦
Android, iOS ν”Œλž«νΌμ˜ ν™˜κ²½μ„ κ³ λ €ν•˜μ—¬ μž‘μ„±ν•΄μ£Όμ„Έμš”.
β—¦
μ‹œλ‚˜λ¦¬μ˜€ ν˜•μ‹μ€ 자유이며 Unit ν…ŒμŠ€νŠΈμ™€ Integration ν…ŒμŠ€νŠΈμ— λŒ€ν•΄ κ³ λ €ν•΄μ£Όμ„Έμš”.
β—¦
μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μ—…λ°μ΄νŠΈλŠ” μ •κΈ°μ μœΌλ‘œ μ§„ν–‰λ˜λ©° 맀주 ν™”μš”μΌμ— μ§„ν–‰λ©λ‹ˆλ‹€.
β—¦
μ •κΈ° μ—…λ°μ΄νŠΈ 이외에 HotFix μ—…λ°μ΄νŠΈλ₯Ό κ³ λ €ν•΄μ£Όμ„Έμš”.
β€’
μœ μ˜μ‚¬ν•­
β—¦
μœ„μ—μ„œ μ œμ‹œν•œ Spec μ΄μ™Έμ˜ ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λŠ” κ³ λ €ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. (Android 6.0μ—μ„œ ꡬ동 λ“±)

문제 2. μžλ™ν™” ν…ŒμŠ€νŠΈ 섀계

AB Marketμ—μ„œ κ·Όλ¬΄ν•˜κ³  μžˆλŠ” QA Engineer κΉ€νŒ”κ³΅μ€ 맀주 μ›”μš”μΌ, μ„œλ²„λ‘œλΆ€ν„° 리슀트둜 κ΅¬μ„±λœ μ‚¬μš©μž ꡬ맀 데이터(JSON File)λ₯Ό 전달 λ°›μŠ΅λ‹ˆλ‹€. 이 λ•Œ μ•„λž˜ μ˜ˆμ‹œμ™€ μ„€λͺ…을 μ°Έκ³ ν•˜μ—¬ 전달 받은 데이터에 λŒ€ν•΄ μ‚¬μš©μžκ°€ ꡬ맀할 수 μ—†λŠ” λ¬Όν’ˆμ΄ ν¬ν•¨λ˜μ–΄ μžˆλŠ”μ§€ ν™•μΈν•˜λŠ” λ‘œμ§μ„ κ΅¬μ„±ν•΄μ£Όμ„Έμš”.
β€’
μ„œλ²„λ‘œ μ „λ‹¬λ°›λŠ” 데이터 μ˜ˆμ‹œ
[ { "data": { "userInformation": { "account": { "email": "ab180@ab180.co", "phone": "010-0000-0000" }, "age": { "birth": "19920101" } }, "item": [ { "productID": "AB001", "name": "AB180 Beer", "price": 3000, "age": true }, { "productID": "AB002", "name": "AB180 Cookie", "price": 1000, "age": false } ] } } ]
JSON
Data Spec μžμ„Ένžˆ 보기
β€’
μ˜ˆμ‹œ μ„€λͺ…
β—¦
제곡된 μ˜ˆμ‹œλŠ” 리슀트의 ν˜•νƒœλ‘œ μš”μ†ŒλŠ” 1개둜 μ΄λ€„μ ΈμžˆμŠ΅λ‹ˆλ‹€. (리슀트의 크기가 1)
β—¦
κ΅¬λ§€μžκ°€ κ΅¬λ§€ν•˜λ €λŠ” μƒν’ˆμ€ 총 2개이며 κ·Έ 쀑 ꡬ맀 μ—°λ Ή μ œν•œ μƒν’ˆμ΄ 1개 μ‘΄μž¬ν•©λ‹ˆλ‹€.
β–ͺ
productID κ°€ AB001 인 μƒν’ˆμ€ age 의 값이 true μ΄λ―€λ‘œ ꡬ맀 μ—°λ Ή μ œν•œ μƒν’ˆμž„
β–ͺ
productID κ°€ AB002 인 μƒν’ˆμ€ age 의 값이 false μ΄λ―€λ‘œ ꡬ맀 μ—°λ Ή μ œν•œ μƒν’ˆμ΄ μ•„λ‹˜
β—¦
ꡬ맀자의 생일(data.userInformation.age)을 μ°Έκ³ ν•˜μ˜€μ„ λ•Œ 1992λ…„μƒμœΌλ‘œ ꡬ맀 μ—°λ Ή μ œν•œ μƒν’ˆμ„ ꡬ맀할 수 μžˆμŠ΅λ‹ˆλ‹€.
β€’
κ²°κ³Ό 좜λ ₯ μ˜ˆμ‹œ
β—¦
μ„œλ²„λ‘œλΆ€ν„° 전달받은 데이터 리슀트의 μš”μ†Œ(ꡬ맀자) 별 ꡬ맀 κ°€λŠ₯ μ—¬λΆ€λ₯Ό 좜λ ₯ν•΄μ•Όν•©λ‹ˆλ‹€.
β–ͺ
제곡된 μ˜ˆμ‹œμ˜ 경우 μ•„λž˜μ™€ 같이 좜λ ₯λ©λ‹ˆλ‹€.
[ꡬ맀 κ°€λŠ₯]
JSON
β–ͺ
3λͺ…μ˜ ꡬ맀 정보가 담겨져 있고 2번째 μ‚¬μš©μžκ°€ κ΅¬λ§€ν•œ λ¬Όν’ˆ 쀑 μ—°λ Ή μ œν•œμœΌλ‘œ 인해 ꡬ맀할 수 μ—†λŠ” λ¬Όν’ˆμ΄ 1개 이상 ν¬ν•¨λ˜μ–΄ μžˆμ„ λ•Œ μ•„λž˜μ™€ 같이 좜λ ₯λ©λ‹ˆλ‹€.
[ꡬ맀 κ°€λŠ₯, ꡬ맀 λΆˆκ°€λŠ₯, ꡬ맀 κ°€λŠ₯]
JSON
β€’
μœ μ˜μ‚¬ν•­
β—¦
μœ„ JSON λ°μ΄ν„°μ˜ 경우 μ΅œλŒ€ 1000κ°œκΉŒμ§€ μž…λ ₯ 될 수 μžˆμŠ΅λ‹ˆλ‹€.
β–ͺ
[{"packageName": .. }, {"packageName": .. } … {"packageName": .. }] ν˜•νƒœ
β—¦
ꡬ맀 μ—°λ Ήμ˜ 경우 μΆœμƒ μ—°λ„λ‘œλ§Œ κ³„μ‚°ν•©λ‹ˆλ‹€.
β–ͺ
생년월일이 20040101인 경우 ꡬ맀 λΆˆκ°€
β—¦
μœ„μ—μ„œ μ œμ‹œν•œ λ‚΄μš© μ΄μ™Έμ˜ ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λŠ” κ³ λ €ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
β—¦
μ–Έμ–΄μ˜ 경우 자유둭게 μ‚¬μš© κ°€λŠ₯ν•˜λ©° μ™ΈλΆ€ 라이브러리 μ‚¬μš© μ‹œ μ‚¬μš©ν•œ 라이브러리λͺ…, 버전을 λͺ…μ‹œν•΄μ£Όμ„Έμš”.
β—¦
μ½”λ“œ 내에 λ™μž‘μ— λŒ€ν•œ κ°„λ‹¨ν•œ 주석을 μž‘μ„±ν•΄μ£Όμ„Έμš”.
β—¦
제좜 μ‹œ λ™μž‘μ— λŒ€ν•œ 슀크린 μƒ· 캑처본과 ꡬ성해주신 μ½”λ“œ νŒŒμΌμ„ zip 파일 ν˜•μ‹μœΌλ‘œ μ••μΆ•ν•΄μ„œ μ œμΆœν•΄μ£Όμ„Έμš”.

μ œμΆœκΈ°ν•œ

β€’
과제 μ „λ‹¬μΌλ‘œλΆ€ν„° μ΅œλŒ€ 일주일

참고사항

1.
과제 진행에 어렀움이 μžˆμœΌμ‹  κ²½μš°μ— hr@ab180.co둜 문의 μ£Όμ„Έμš”.
2.
κΈ°ν•œλ³΄λ‹€ μ•žμ„œ 과제λ₯Ό μ œμΆœν•΄ μ£Όμ‹  경우, 이후 μ±„μš© ν”„λ‘œμ„ΈμŠ€ λ˜ν•œ λΉ λ₯΄κ²Œ 진행이 κ°€λŠ₯ν•©λ‹ˆλ‹€.
CONFIDENTIAL | 이에 ν¬ν•¨λœ λ‚΄μš©μ€ λ³΄μ•ˆμ„ μœ μ§€ν•˜μ—¬μ•Ό ν•˜λ©° μž„μ˜λ‘œ κ³΅κ°œν•΄μ„œλŠ” μ•ˆλ˜λŠ” 정보 및 법λ₯ μƒ κ³΅κ°œκ°€ κΈˆμ§€λœ 정보가 λ“€μ–΄ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. 이 λ¬Έμ„œμ˜ μ§€μ •μˆ˜μ‹ μΈμ΄ μ•„λ‹ˆλ©΄ 이λ₯Ό λ¬΄λ‹¨μœΌλ‘œ 보유, 전솑, 배포할 수 μ—†μŠ΅λ‹ˆλ‹€. Copyright AB180 All Rights Reserved