ข้อมูลบริษัทสำหรับทดสอบคือชุดข้อมูลของนิติบุคคลที่ถูกสร้างขึ้นเพื่อใช้ในงานทดสอบโดยเฉพาะ ไม่ได้แทนบริษัทจริงรายใด และไม่ควรถูกนำไปใช้ในธุรกรรมจริง บทความนี้จะพาคุณดูว่าข้อมูลชุดหนึ่งประกอบด้วยอะไร ทำไมการหยิบข้อมูลบริษัทจริงมาใช้ทดสอบจึงเป็นเรื่องเสี่ยงกว่าที่คิด และทีมงานควรวางขอบเขตการใช้งานไว้อย่างไรตั้งแต่วันแรกที่เริ่มทำระบบ
ข้อมูลบริษัทสำหรับทดสอบคืออะไร?
ลองนึกถึงการซ้อมแผนหนีไฟในอาคาร เราเดินตามเส้นทางจริง เปิดประตูจริง กดสัญญาณจริง แต่ไม่มีไฟไหม้อยู่จริงเลยแม้แต่จุดเดียว ข้อมูลบริษัทสำหรับทดสอบทำหน้าที่แบบเดียวกัน คือมีรูปร่างหน้าตาครบถ้วนพอให้ระบบทำงานได้ทุกขั้นตอน แต่ตัวบริษัทเบื้องหลังไม่มีอยู่จริง
ข้อมูลชุดนี้มักประกอบด้วยชื่อบริษัท รูปแบบทางกฎหมาย อุตสาหกรรม ขนาดองค์กร ที่ตั้งสำนักงานจดทะเบียน เบอร์โทรติดต่อ เลขทะเบียนบริษัท เลขภาษี และเลข VAT ประเด็นสำคัญคือทุกฟิลด์เป็นค่าที่ถูกประกอบขึ้น ไม่ได้คัดลอกมาจากบริษัทที่จดทะเบียนอยู่จริง การใช้ข้อมูลแบบนี้ทำให้ทีมสามารถรันแบบทดสอบซ้ำได้กี่รอบก็ได้ โดยไม่ต้องขออนุญาตใครและไม่ต้องกังวลว่าข้อมูลของบุคคลที่สามจะรั่วไหลออกไป
อีกแง่หนึ่งที่คนมักมองข้ามคือ ข้อมูลประเภทนี้ช่วยให้ผลทดสอบมั่นคงและเทียบกันได้ เมื่อทุกครั้งที่รันใช้บริษัทสมมติตัวเดียวกัน ทีมจะรู้ทันทีว่าเมื่อระบบตอบสนองต่างไปจากเดิม สาเหตุมาจากโค้ดที่เพิ่งแก้ ไม่ใช่มาจากข้อมูลนำเข้าที่เปลี่ยนไป
ทำไมไม่ควรใช้ข้อมูลบริษัทจริงในการทดสอบ?
เหตุผลข้อแรกคือความเสี่ยงทางกฎหมาย ข้อมูลของบริษัทจริงย่อมมีข้อมูลส่วนบุคคลของกรรมการ ผู้ถือหุ้น หรือพนักงานติดอยู่ด้วย การคัดลอกข้อมูลเหล่านั้นเข้าสู่เครื่องของนักพัฒนาแต่ละคนคือการทำสำเนาข้อมูลที่ไม่มีใครได้รับความยินยอมให้ทำ
เหตุผลข้อที่สองคือข้อมูลรั่วได้ง่ายกว่าที่คิด เครื่องทดสอบมักถูกคัดลอกไปไว้ในที่ซึ่งควบคุมยาก ไม่ว่าจะเป็นเครื่องแล็ปท็อป ส่วนจัดเก็บสำรอง หรือบันทึกผลการรันอัตโนมัติที่เก็บไว้เป็นเดือน ๆ เมื่อข้อมูลจริงเข้าไปอยู่ในเส้นทางเหล่านั้นแล้ว การเรียกคืนเป็นเรื่องที่แทบทำไม่ได้
เหตุผลข้อที่สามคือความสับสนที่เกิดขึ้นกับคนทำงานเอง เมื่อแบบทดสอบใช้ชื่อบริษัทจริงที่มีคนในทีมรู้จัก พนักงานอาจเผลอตีความผลลัพธ์ผิด คิดว่าลูกค้ารายนั้นกำลังทำอะไรบางอย่างกับระบบ ทั้งที่ความจริงเป็นเพียงการซ้อม ขอบเขตของเรื่องนี้มีอธิบายไว้ละเอียดในเส้นแบ่งของข้อมูลบริษัทสมมติ
งานแบบไหนที่ต้องใช้ข้อมูลลักษณะนี้
งานกลุ่มแรกคืองานที่ต้องกรอกฟอร์มระดับองค์กร ซึ่งต่างจากฟอร์มบุคคลตรงที่มีฟิลด์อย่างรูปแบบทางกฎหมายและเลขประจำตัวผู้เสียภาษีเพิ่มเข้ามา และมักบังคับให้กรอกครบก่อนไปขั้นถัดไป
- การสมัครบัญชีองค์กรในระบบที่ยังไม่เปิดใช้งานจริง
- การกรอกข้อมูลวางบิลและทดสอบการออกเอกสารเรียกเก็บเงิน
- การสาธิตระบบให้ลูกค้าหรือผู้ลงทุนดูแบบสดหน้างาน
- การเติมข้อมูลลงในพื้นที่ทดลองของผู้ให้บริการชำระเงิน
- การซ้อมขั้นตอนรับสมัครลูกค้าองค์กรก่อนเปิดใช้งานจริง
งานกลุ่มที่สองคือการทดสอบแบบอัตโนมัติ ซึ่งต้องการข้อมูลนำเข้าที่แน่นอนตายตัวทุกครั้งที่รัน หากใช้ข้อมูลจริงที่เปลี่ยนแปลงได้ ผลทดสอบจะไม่มีความหมายเพราะไม่มีใครรู้ว่าอะไรคือค่าตั้งต้นที่ถูกต้อง การตรึงชุดข้อมูลสมมติไว้หนึ่งชุดจึงเป็นวิธีที่ตรงไปตรงมาที่สุด
องค์ประกอบของข้อมูลบริษัทหนึ่งชุด
ตารางต่อไปนี้สรุปฟิลด์หลักที่มักปรากฏในชุดข้อมูลทดสอบ พร้อมเหตุผลว่าทำไมต้องมีและจุดที่ต้องระวัง
| ฟิลด์ | ใช้ทำอะไร | จุดที่ต้องระวัง |
|---|---|---|
| ชื่อบริษัท | แสดงผลและจับคู่ในเอกสาร | ต้องเป็นชื่อที่อ่านแล้วรู้ทันทีว่าเป็นของสมมติ |
| รูปแบบทางกฎหมาย | เลือกตัวเลือกในฟอร์มและตรวจเงื่อนไข | ต้องผูกกับประเทศของบริษัทนั้น |
| ที่ตั้งสำนักงานจดทะเบียน | ใช้ในเอกสารและแบบฟอร์มยื่นเรื่อง | ต้องไม่ใช่ที่อยู่จริงของบุคคลใด |
| เลขทะเบียนบริษัท | อ้างอิงกับหน่วยงานจดทะเบียน | รูปแบบต่างกันตามประเทศ ไม่มีมาตรฐานเดียว |
| เลขภาษีและเลข VAT | ใช้ในใบกำกับภาษีและการตรวจสอบ | รูปแบบถูกต้องยังไม่แปลว่าจดทะเบียนจริง |
| ชื่อผู้ติดต่อและเบอร์โทร | ทดสอบการแจ้งเตือนและการยืนยัน | ห้ามใช้ข้อมูลติดต่อของคนจริง |
จะเห็นได้ว่าฟิลด์เหล่านี้ไม่ได้มีไว้เพื่อความสมจริงอย่างเดียว แต่มีไว้เพื่อให้ครอบคลุมเส้นทางที่ระบบต้องเดินผ่านจริง เมื่อใดที่ชุดข้อมูลขาดฟิลด์ใดไป ขั้นตอนที่ต้องใช้ฟิลด์นั้นจะไม่ถูกทดสอบเลย และข้อผิดพลาดจะไปโผล่เอาตอนลูกค้าจริงใช้งาน
ใช้แล้วต้องระวังอะไรบ้าง
ข้อควรระวังข้อแรกคืออย่าให้ข้อมูลทดสอบหลุดเข้าไปในระบบที่ให้บริการจริง ความผิดพลาดนี้มักเกิดจากสคริปต์เติมข้อมูลที่ชี้ไปผิดฐานข้อมูล หรือจากคนที่คัดลอกไฟล์ตัวอย่างไปวางในหน้าจอผู้ดูแลระบบโดยไม่ทันคิด ผลลัพธ์คือลูกค้าจริงอาจเห็นชื่อบริษัทสมมติปนอยู่ในรายงานของตนเอง
ข้อควรระวังข้อที่สองคือการนำข้อมูลไปใช้ในเอกสารที่ออกสู่ภายนอก เอกสารเรียกเก็บเงินหรือหนังสือยืนยันใด ๆ ที่อ้างถึงบริษัทสมมติแล้วส่งออกไปให้บุคคลภายนอก ย่อมสร้างความสับสนและอาจถูกตีความว่าเป็นการแอบอ้าง ทางที่ดีคือทำให้ทุกชุดข้อมูลมีเครื่องหมายชัดเจนว่าเป็นของทดสอบ และตรวจก่อนส่งทุกครั้ง
ข้อควรระวังข้อที่สามคืออายุการเก็บข้อมูล ข้อมูลทดสอบที่ค้างอยู่ในระบบนานเกินไปจะกลายเป็นขยะที่ทำให้คนรุ่นหลังสับสนว่าเป็นของจริงหรือไม่ ควรมีรอบการล้างที่ชัดเจน และแยกโฟลเดอร์หรือฐานข้อมูลของงานทดสอบออกจากงานจริงตั้งแต่ต้น
สำหรับนักพัฒนา: ฟิลด์ที่ต้องมีและข้อควรระวัง
การออกแบบฟิลด์ควรเริ่มจากความจริงที่ว่า ชื่อบริษัทในภาษาต่าง ๆ มีความยาวและอักขระที่หลากหลายกว่าที่คนเขียนระบบมักคาดคิด การกำหนดความยาวสูงสุดแบบหวงแหนเกินไปจะทำให้ชื่อบริษัทที่ถูกต้องตามกฎหมายของบางประเทศกรอกไม่ได้เลย ทางออกคือเผื่อความยาวไว้มาก และรองรับอักขระหลายไบต์ตั้งแต่ชั้นฐานข้อมูล
ฟิลด์ประเภทตัวเลขควรเก็บเป็นข้อความเสมอ เพราะเลขทะเบียนและเลขภาษีหลายแห่งมีศูนย์นำหน้า และมีบางแห่งที่ผสมตัวอักษรเข้าไปด้วย การเก็บเป็นจำนวนเต็มจึงทำให้ค่าผิดเพี้ยนไปตั้งแต่ตอนบันทึก นอกจากนี้ควรเก็บรหัสประเทศไว้ข้าง ๆ เลขทุกตัว เพื่อให้รู้ว่าควรตีความด้วยกติกาของที่ใด
เรื่องความซ้ำและความทำซ้ำได้ต้องคิดควบกันไป ชุดข้อมูลที่สุ่มใหม่ทุกครั้งทำให้ผลทดสอบเทียบกันไม่ได้ แต่ชุดข้อมูลที่ตายตัวเกินไปก็อาจชนกับค่าที่ระบบปฏิเสธ แนวทางที่ใช้กันทั่วไปคือผูกชุดข้อมูลกับเมล็ดค่าตั้งต้นหนึ่งค่า เพื่อให้เรียกชุดเดิมกลับมาได้ทุกเมื่อโดยไม่ต้องคัดลอกไฟล์เก็บไว้หลายสำเนา
สุดท้ายคือการแยกสภาพแวดล้อมให้ชัด ควรมีเครื่องหมายระบุในตัวบันทึกว่าข้อมูลนี้มาจากงานทดสอบ และมีกลไกที่ทำให้การส่งข้อมูลทดสอบออกไปยังระบบภายนอกถูกบล็อกโดยอัตโนมัติ ดีกว่าการพึ่งความรอบคอบของคนเพียงอย่างเดียว
เริ่มสร้างชุดข้อมูลแรกได้ที่ไหน
วิธีที่ตรงที่สุดคือเริ่มจากหนึ่งบริษัท หนึ่งประเทศ และหนึ่งเส้นทางที่ต้องการทดสอบให้จบครบวงจร เมื่อเส้นทางแรกเดินได้ครบแล้วจึงค่อยขยายจำนวนประเทศและจำนวนชุดข้อมูล การขยายทีละด้านทำให้รู้ได้เสมอว่าเมื่อเกิดข้อผิดพลาด มันมาจากส่วนใด
คุณสามารถเปิดเครื่องมือสร้างข้อมูลบริษัทสำหรับทดสอบของเว็บไซต์นี้เพื่อสร้างนิติบุคคลสมมติพร้อมเลขทะเบียนและเลข VAT แล้วนำไปใช้ในฟอร์มหรือแบบทดสอบได้ทันที หากต้องการเข้าใจว่ารูปแบบของเลขทะเบียนต่างกันอย่างไรในแต่ละประเทศ อ่านต่อที่เลขทะเบียนบริษัทแยกตามประเทศ หรือดูภาพรวมของวิธีสร้างข้อมูลทดสอบแบบเป็นระบบได้ที่วิธีสร้างข้อมูลสำหรับการทดสอบ
ข้อมูลทั้งหมดที่กล่าวถึงในบทความนี้เป็นข้อมูลสมมติสำหรับการทดสอบเท่านั้น ไม่ได้มาจากบริษัทที่จดทะเบียนอยู่จริง และไม่ควรนำไปใช้อ้างอิงในเอกสารหรือธุรกรรมใด ๆ ที่มีผลทางกฎหมาย