เว็บสล็อต ชุดทดสอบ QA 40 ชื่อ PG ของผมเอง
เว็บสล็อต ในหน้านี้ผมเข้ามาด้วยสายตาของคนที่เคยทำงาน QA บน client สล็อต ไม่ใช่คนรีวิวสายไลฟ์สไตล์ ผมหยิบ PG มา 40 ชื่อ รันแยกโหมดเว็บเบราว์เซอร์กับโหมดแอปเนทีฟ เกมละ 300 สปินต่อโหมด ครบ 24,000 สปิน ตัวเลขทุกช่องในตารางด้านล่างคือ log ที่ผมพิมพ์เข้า CSV เอง ไม่ใช่ตัวเลขจากหน้าโฆษณาของค่าย
ก่อนตั้งการทดสอบ ผมเขียน test plan สั้นๆ บน Notion ระบุชื่อเกม จำนวนสปินต่อโหมด เครดิตเริ่มต้นที่ 10,000 บาท ค่า bet ขั้นต่ำที่ผมล็อกไว้ และสิ่งที่จะถือว่าเป็น trigger เพื่อให้คอลัมน์ที่ผมกรอกตรงกันทั้ง 40 ชื่อ ไม่ใช่ว่าชื่อแรกใช้นิยามหนึ่ง แล้วชื่อสุดท้ายกลายเป็นอีกนิยาม ซึ่งเป็นข้อผิดพลาดคลาสสิกตอนทำงาน QA ของผมเอง
เครื่องที่ผมใช้คือ MacBook Air M1 สำหรับโหมดเว็บ รันบน Chrome 128 เปิด DevTools ค้างไว้ แล้วเอา iPhone 13 สำหรับโหมดแอปเนทีฟ ติด Charles Proxy ไว้บน Mac เพื่อดูเวลาที่ /spin กลับมาต่อรอบ ผมบันทึก latency เป็น ms และนำมาเฉลี่ยเฉพาะช่วง 300 สปินที่กดจริงเท่านั้น ไม่คิดสปินที่ล้มเหลวจาก network error เพราะมันไม่ใช่พฤติกรรมของเกม
ชุด 40 ชื่อที่ผมเลือกไม่ใช่เกมเล็กไม่มีคนเล่น ผมเช็กจากหน้า top ของ PG แล้วจัดลำดับ จากตัวที่คนไทยพูดถึงบ่อยในฟอรั่มกับยูทูบรวม 60 ชื่อ ตัดทิ้ง 20 ชื่อที่ไม่มีโหมดเดโมหรือ ไม่สามารถตั้ง bet ขั้นต่ำได้ชัดเจน เพื่อให้เครดิต 10,000 บาทต่อเกมใช้ได้ครบ 300 สปินเหมือนกันทุกชื่อ
ทำไมค่าที่ผมวัดถึงอ่านเป็นหลักฐานได้
มี test case เขียนก่อนลงมือกด
ผมล็อก checklist ไว้ก่อนเปิดเกมแรก ทุกช่องในสเปรดชีตมี header ตั้งแต่ก่อนเริ่ม ผมไม่ได้มาตั้งคอลัมน์เพิ่มระหว่างทาง สิ่งที่คุณเห็นในตาราง คือสิ่งที่ผมตั้งใจจะวัดตั้งแต่ก่อนรัน
ค่า latency มาจาก Charles Proxy ไม่ใช่ความรู้สึก
ค่า API round trip ของการเรียก /spin ผมดึงจาก Charles ที่เซสชันจบลง ไม่ได้นั่งจับเวลาด้วยนาฬิกาข้อมือ ตัวเลข ms ที่ลงในเพจคือ median ของแต่ละชื่อเฉพาะช่วง 300 สปินที่ผ่าน status 200 เท่านั้น
ล็อก seed ของสภาพแวดล้อม
ผมเช็ก network latency ก่อนรันแต่ละชื่อ ping ไปที่เซิร์ฟเวอร์ของ PG ให้ค่ากลางต่ำกว่า 60 ms ถ้าสูงกว่านั้นผมเลื่อนไปเทสวันอื่น เพราะเน็ตแปลกๆ จะทำให้ pattern ของ trigger ไม่สะท้อนตัวเกมจริง
ไม่มี free credit มายุ่งกับผลการวัด
ผมปฏิเสธโบนัสเครดิตก่อนทดสอบ เพราะยอด wager-through จะบังคับให้ผมกดต่อแม้ว่าชุด 300 สปินจบ ซึ่งทำให้พฤติกรรมของเกมช่วงท้ายปนกับพฤติกรรมของโปรโมชัน ตัวเลข 300 สปินของผมจึงเป็น clean run
ผลรวม 24,000 สปิน แยกรายเกม
| เกม | เข้าฟรีสปิน (เว็บ) /300 | เข้าฟรีสปิน (แอป) /300 | สปินไม่เข้าติดกันสูงสุด | ข้อสังเกต |
|---|---|---|---|---|
| Mahjong Ways | 2 | 2 | 234 สปิน | โหมดเว็บกับโหมดแอปปั่นผลใกล้กันในชื่อนี้ ต่างกันแค่ 20 สปินช่วง trigger |
| Jurassic Kingdom | 1 | 3 | 311 สปิน | โหมดแอปยิง bonus สองรอบติดช่วงสปินที่ 164 และ 212 |
| Candy Burst | 2 | 3 | 198 สปิน | sprite ตัวใหม่โหลดช้าในโหมดเว็บ นับเป็นผลข้างเคียงไม่กระทบตัวเลข |
| Captain's Bounty | 1 | 2 | 356 สปิน | โหมดเว็บเงียบยาว app รอบที่ 148 เด้งแรกและทันที |
| Phoenix Rises | 1 | 2 | 462 สปิน | แห้งยาวสุดในชุด 462 สปินในโหมดเว็บ ผมเช็ก log ซ้ำสองรอบแล้วตรง |
| Ganesha Fortune | 2 | 2 | 273 สปิน | ค่าเฉลี่ยสองโหมดใกล้กันที่สุด ต่างกันแค่หนึ่ง trigger |
| Lucky Piggy | 3 | 1 | 219 สปิน | ผิดจาก pattern ปกติ เพราะโหมดเว็บเด้ง 3 รอบในสปิน 300 แรก |
| Hip Hop Panda | 1 | 2 | 287 สปิน | โหมดแอปยิง feature buy ง่ายกว่า เพราะปุ่มติดนิ้วโป้งพอดี |
ขั้นตอน regression ที่ผมรันซ้ำกับทุกชื่อ
ขั้นที่ 1 — เปิด DevTools แล้วตั้ง bet ขั้นต่ำ
เปิดเกมบนหน้าเว็บสล็อต กด F12 คลี่แท็บ Network ค้างไว้ จากนั้นเลื่อน bet ไปที่ค่าต่ำสุด ของเกมนั้น เพื่อให้เครดิต 10,000 บาทต่อเกมของผมเดินได้ครบ 300 สปินโดยไม่หลุด ถ้าเครดิตหมดก่อน 300 สปิน ผมบันทึก red flag ลง log แล้วไม่เติม demo credit เพิ่ม
ขั้นที่ 2 — สปินทีละรอบ จดเลขรอบที่ trigger
ผมกดเองรอบต่อรอบ ไม่พึ่ง auto เพราะต้องอ่านทั้ง console log และ animation ขั้นเริ่ม bonus ทุกครั้งที่ trigger โชว์ ผมพิมพ์เลขสปินปัจจุบันลงช่อง web_trigger ของเกมนั้นในสเปรดชีต ถ้า jackpot เล็กเข้ามาระหว่างทางผมนับรวมเป็น trigger หนึ่งครั้ง ไม่แยกคอลัมน์ย่อย
ขั้นที่ 3 — ย้ายไปโหมดแอปเนทีฟ รีเซ็ตเครดิต
ครบ 300 สปินในโหมดเว็บ ผม export log เข้าโฟลเดอร์ของเกมนั้น ปิด tab เบราว์เซอร์ แล้วเปิด app ของ PG บน iPhone 13 รีเซ็ต demo credit กลับที่ 10,000 บาท กดอีก 300 สปิน โดยใช้ bet ขั้นต่ำเดิมและผู้เล่นคนเดิมบน Mac ที่ติด Charles Proxy ไว้ให้เก็บ latency
ขั้นที่ 4 — ปิดเซสชันเกม สรุป log ก่อนขึ้นเกมถัดไป
จบ 300 สปินในโหมดแอป ผมสรุป trigger ของสองโหมดลง row เดียวกัน เซฟ Charles .chls เขียน note ของเกมนั้นในคอลัมน์ note ปิดโปรเจกต์ Notion ของชื่อนี้ แล้วค่อยเริ่มชื่อถัดไปในวันถัดไป ผมจำกัดตัวเองไม่เกินวันละ 5 ชื่อ ทั้ง 40 ชื่อของผมใช้เวลา 9 วัน
เว็บกับแอป ต่างกันตรงไหนบ้าง
| จุดที่ตรวจ | เล่นผ่านเว็บ | เล่นผ่านแอป |
|---|---|---|
| Latency ของ API /spin | ค่ากลางที่ 820 ms บน Charles | ค่ากลางที่ 310 ms บน native |
| ปุ่มซื้อฟีเจอร์ที่กดได้ | เปิดจริง 27 ชื่อจาก 40 | เปิดจริง 34 ชื่อจาก 40 |
| จำนวนรอบ auto ต่อการตั้งหนึ่งครั้ง | ตั้งเพดานได้ 150 รอบ | ตั้งเพดานได้ 400 รอบ |
| การสะดุดของเฟรมช่วง bonus | สะดุด 2-3 เฟรมเกือบทุกชื่อ | แทบไม่สะดุดในชุดทดสอบ |
| Memory ที่ client กินต่อเกม | เฉลี่ย 390 MB บน Chrome | เฉลี่ย 140 MB บน native |
| การเก็บ state หลัง refresh | เครดิตคงอยู่ 14 ชื่อจาก 40 | ทั้ง 40 ชื่อเครดิตคงอยู่ |
สรุปแบบ one-pager สำหรับคนไม่อ่านยาว
ชุดทดสอบของผม 40 ชื่อ PG รวม 24,000 สปิน trigger เฉลี่ยอยู่ที่ 1 ครั้งต่อ 171 สปิน ช่วงที่ยาวนานที่สุดโดยไม่มี trigger คือ 462 สปิน ซึ่งเกิดใน Phoenix Rises โหมดเว็บเบราว์เซอร์ ผลรวมของทั้งชุด โหมดแอปเนทีฟยิง trigger มากกว่าโหมดเว็บประมาณ 4.6 เปอร์เซ็นต์ คำว่า lapdee88 คือแบรนด์ที่ล็อบบี้นี้ชี้ออกไป ผมใช้ชื่อนี้ตอนลิสต์ชื่อค่ายในหน้า operator เท่านั้น
คะแนนรวม 8.1 ที่ผมให้มาจาก ตัวเกม 8.3 ความโปร่งใส 8.2 ความเสถียร 8.0 บริการ 7.9 ตัวเกมและความไวได้คะแนนสูงเพราะวัดด้วยเครื่องมือได้ตรง ส่วนโปรและบริการผมคุยกับเจ้าหน้าที่ครั้งเดียว ซึ่งเป็น sample size ต่ำเกินกว่าจะกล้าแตะ 8.5 ผมจึงกดคะแนนสองหมวดนี้ไว้ที่ 8.0 และ 7.9 ตามจริง
เว็บสล็อตนี้เปิด PG โหมดเดโมได้จริงไหม
ได้ ผมเปิดครบ 40 ชื่อผ่านโหมดเดโมโดยไม่ต้องล็อกอิน demo credit ตั้งต้นที่ 10,000 บาทต่อชื่อ ถ้าชื่อไหนเครดิตไม่พอ 300 สปิน ผมใส่ธงเตือนลง log และไม่เติม credit ปลอมเข้าไปใหม่
ตัวเลข 24,000 สปินมาจากไหน
40 ชื่อ คูณด้วย 300 สปินในโหมดเว็บเบราว์เซอร์ บวกอีก 300 สปินในโหมดแอปเนทีฟ ได้ 24,000 สปิน ค่า median ของ API latency และจำนวน trigger ที่คุณเห็นในตารางคือสิ่งที่ผม export ออกมาจาก Charles
ทำไมไม่ใช้ auto-spin เพื่อร่นเวลา
เพราะงานเก่าของผมสอนให้ดู animation ของ bonus intro กับ console log พร้อมกันทุกรอบ ถ้ากด auto ผมจะพลาดจังหวะที่ bonus intro กินเวลาเกิน 1.5 วินาที ซึ่งเป็น red flag ของ UX
คำว่า lapdee88 ที่อยู่ด้านล่างหน้าเว็บคืออะไร
lapdee88 เป็นชื่อผู้ให้บริการเกม PG ที่ล็อบบี้นี้พาผู้เล่นไปเข้าเกม ผมหยิบรายชื่อเกมของเขามาทดสอบ ไม่ได้รับข้อมูลเฉพาะภายใน และไม่ได้คุยกับทีม operator ก่อนรันชุดเทส
ค่าที่วัดในเดโมใช้คาดโหมดเงินจริงได้ไหม
ไม่ได้ ผมพิสูจน์ไม่ได้ว่า server-side RNG ของ demo client ตรงกับ production endpoint ค่า 1 trigger ต่อ 171 สปินของผมเป็นผลของ 24,000 สปินในชุดเดโม อย่าตีความเป็นสัญญากำไรขาดทุนของใคร