การทดสอบเว็บแอปพลิเคชัน: จะทดสอบเว็บไซต์อย่างไร? ประเภทต่างๆ
⚡ สรุปอย่างชาญฉลาด
การทดสอบแอปพลิเคชันเว็บจะตรวจสอบเว็บไซต์ในด้านฟังก์ชันการทำงาน การใช้งาน อินเทอร์เฟซ ฐานข้อมูล ความเข้ากันได้ ประสิทธิภาพ ความปลอดภัย และการตรวจสอบจากกลุ่มผู้ใช้งาน ก่อนที่จะเปิดตัว เพื่อให้ข้อบกพร่องปรากฏขึ้นในขั้นตอนการทดสอบ แทนที่จะเกิดขึ้นต่อหน้าผู้ใช้งานที่จ่ายเงิน
ก่อนที่เราจะลงรายละเอียดเพิ่มเติมเกี่ยวกับประเภทของการทดสอบเว็บไซต์ เรามาทำความเข้าใจความหมายของการทดสอบเว็บไซต์และตำแหน่งของมันในวงจรการส่งมอบงานกันก่อน
การทดสอบเว็บแอปพลิเคชันคืออะไร?
การทดสอบเว็บแอปพลิเคชันการทดสอบเว็บไซต์ หรือที่เรียกว่า Web Application Testing คือการตรวจสอบเว็บแอปพลิเคชันหรือเว็บไซต์ของคุณเพื่อหาข้อผิดพลาดที่อาจเกิดขึ้นก่อนที่จะเปิดใช้งานและเปิดให้บุคคลทั่วไปเข้าถึงได้ การทดสอบเว็บแอปพลิเคชันจะตรวจสอบฟังก์ชันการทำงาน ความสามารถในการใช้งาน ความปลอดภัย ความเข้ากันได้ และประสิทธิภาพของเว็บแอปพลิเคชันหรือเว็บไซต์
ในขั้นตอนนี้ จะมีการตรวจสอบประเด็นต่างๆ เช่น ความปลอดภัยของแอปพลิเคชันบนเว็บ การทำงานของเว็บไซต์ การเข้าถึงสำหรับผู้พิการและผู้ใช้ทั่วไป และความสามารถในการรองรับปริมาณการใช้งาน
เว็บไซต์ไม่ได้เป็นเพียงโปรแกรมเดียว แต่เป็นชุดโปรแกรมที่ประกอบด้วย HTML, CSS และ... Javaสคริปต์ในเบราว์เซอร์ บวกกับ APIs และฐานข้อมูลบนเซิร์ฟเวอร์ เลเยอร์ที่ทำงานได้เพียงลำพังก็อาจล้มเหลวได้เมื่อสื่อสารกับเลเยอร์ข้างเคียง ดังนั้นการทดสอบเว็บจึงต้องการเทคนิคเสริมอื่นๆ
ประเภทของเว็บแอปพลิเคชันที่คุณต้องทดสอบ
ก่อนที่จะเลือกใช้เทคนิคใดๆ ให้พิจารณาโครงสร้างสถาปัตยกรรมที่มีอยู่เสียก่อน โครงสร้างนั้นจะเป็นตัวกำหนดว่าจุดไหนจะเกิดข้อผิดพลาด และคุณจะแบ่งงานระหว่างฝั่งไคลเอนต์และฝั่งเซิร์ฟเวอร์อย่างไร
| Archiเทคเจอร์ | มันทำงานอย่างไร | สิ่งนี้หมายความว่าอย่างไรสำหรับการทดสอบ |
|---|---|---|
| ใบสมัครหน้าเดียว (SPA) | โหลดข้อมูลเพียงครั้งเดียว จากนั้นอัปเดตมุมมองโดยไม่ต้องโหลดหน้าเว็บใหม่ทั้งหมด Gmail ทำงานแบบนี้ | ตรรกะส่วนใหญ่ถูกส่งไปยังเบราว์เซอร์: เน้นที่... Javaสถานะสคริปต์ การแสดงผลแบบไดนามิก และเซสชันฝั่งไคลเอ็นต์ |
| ใบสมัครหลายหน้า (MPA) | มีหลายหน้าที่เข้าถึงได้ผ่านเส้นทางที่แตกต่างกัน URLs คือข้อมูลที่แสดงผลฝั่งเซิร์ฟเวอร์ พบได้ทั่วไปในเว็บไซต์อีคอมเมิร์ซและเว็บไซต์ข่าว | เส้นทางการนำทางมีจำนวนมากขึ้น: ทดสอบทุกเส้นทาง ทุกฟอร์ม และทุกการเปลี่ยนเส้นทางตั้งแต่ต้นจนจบ |
| เว็บแอปโปรเกรสซีฟ (PWA) | ทำงานเหมือนแอปพลิเคชันเนทีฟโดยใช้ Service Worker, Manifest และ App Shell | เพิ่มฟังก์ชันการทำงานแบบออฟไลน์, แคชที่ล้าสมัย, การแจ้งเตือนแบบพุช และข้อความแจ้งเตือนการติดตั้ง |
ผลิตภัณฑ์ส่วนใหญ่ผสมผสานรูปแบบเหล่านี้เข้าด้วยกัน โปรดตรวจสอบว่าคุณกำลังใช้ผลิตภัณฑ์แบบใด จากนั้นจึงลองใช้เทคนิคทั้งแปดด้านล่างนี้
วิธีทดสอบแอปพลิเคชันเว็บหรือเว็บไซต์
ในด้านวิศวกรรมซอฟต์แวร์ อาจดำเนินการทดสอบประเภท/เทคนิคต่อไปนี้ ขึ้นอยู่กับข้อกำหนดการทดสอบเว็บของคุณ
แต่ละเทคนิคสามารถดำเนินการได้ด้วยตนเองหรือโดยใช้สคริปต์ และการเลือกใช้นั้นส่งผลต่อต้นทุนมากกว่าความครอบคลุม
| แง่มุม | การทดสอบด้วยตนเอง | การทดสอบอัตโนมัติ |
|---|---|---|
| เหมาะที่สุดสำหรับ | ความสามารถในการใช้งานและ ที่สอบสวน การตรวจสอบ | การทดสอบการถดถอย การทดสอบข้ามเบราว์เซอร์ การทดสอบการโหลด |
| ความเร็วในการวิ่งซ้ำ | ช้า; ความพยายามเกิดขึ้นซ้ำทุกรอบ | รวดเร็ว; รายการชุดนี้สามารถรับชมซ้ำได้ตามต้องการ |
| โปรไฟล์ต้นทุน | ราคาเริ่มต้นต่ำ แต่จะสูงขึ้นทุกครั้งที่วางจำหน่าย | ค่าใช้จ่ายเริ่มต้นสูงกว่า จากนั้นค่อยมาดูแลรักษาสคริปต์ |
1. การทดสอบการทำงานของเว็บไซต์
การทดสอบการทำงานของเว็บไซต์ เป็นกระบวนการที่รวมพารามิเตอร์การทดสอบหลายอย่าง เช่น ส่วนต่อประสานผู้ใช้, API, การทดสอบฐานข้อมูล, การทดสอบความปลอดภัย, การทดสอบไคลเอ็นต์และเซิร์ฟเวอร์ และฟังก์ชันพื้นฐานของเว็บไซต์ การทดสอบฟังก์ชั่นนั้นสะดวกมากและช่วยให้ผู้ใช้ทำการทดสอบทั้งแบบแมนนวลและอัตโนมัติ ดำเนินการเพื่อทดสอบฟังก์ชันการทำงานของแต่ละฟีเจอร์บนเว็บไซต์
กิจกรรมการทดสอบเว็บไซต์ประกอบด้วย:
เอกสาร ทั้งหมด การเชื่อมโยง ในหน้าเว็บของคุณทำงานอย่างถูกต้อง และตรวจสอบให้แน่ใจว่าไม่มีลิงก์เสีย ลิงค์ที่จะตรวจสอบจะรวมถึง –
- ลิงก์ขาออก
- ลิงค์ภายใน
- Anchor การเชื่อมโยง
- Mailไปยังลิงค์
แบบฟอร์มทดสอบ กำลังทำงานตามที่คาดไว้ ซึ่งจะรวมถึง-
- การตรวจสอบการเขียนสคริปต์ในแบบฟอร์มทำงานได้ตามที่คาดไว้ ตัวอย่างเช่น หากผู้ใช้ไม่ได้กรอกข้อมูลในช่องบังคับในแบบฟอร์ม ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น
- ตรวจสอบค่าเริ่มต้นที่มีการเติมข้อมูล
- เมื่อส่งแล้ว ข้อมูลในแบบฟอร์มจะถูกส่งไปยังฐานข้อมูลสดหรือเชื่อมโยงกับที่อยู่อีเมลที่ใช้งานได้
- แบบฟอร์มได้รับการจัดรูปแบบอย่างเหมาะสมเพื่อให้อ่านง่ายขึ้น
ทดสอบคุกกี้ กำลังทำงานตามที่คาดหวัง คุกกี้เป็นไฟล์ขนาดเล็กที่เว็บไซต์ใช้เพื่อจดจำเซสชันผู้ใช้ที่ใช้งานอยู่เป็นหลัก ดังนั้นคุณไม่จำเป็นต้องเข้าสู่ระบบทุกครั้งที่เยี่ยมชมเว็บไซต์ การทดสอบคุกกี้จะรวมถึง
- คุกกี้ทดสอบ (เซสชัน) จะถูกลบเมื่อล้างแคชหรือเมื่อถึงวันหมดอายุ
- ลบคุกกี้ (เซสชัน) และทดสอบว่าจะมีการถามข้อมูลการเข้าสู่ระบบเมื่อคุณเยี่ยมชมเว็บไซต์ครั้งต่อไป
ทดสอบ HTML และ CSS เพื่อให้แน่ใจว่าเครื่องมือค้นหาสามารถรวบรวมข้อมูลเว็บไซต์ของคุณได้อย่างง่ายดาย ซึ่งจะรวมถึง
- การตรวจสอบข้อผิดพลาดทางไวยากรณ์
- Readable แบบแผนสี
- การปฏิบัติตามมาตรฐาน ตรวจสอบให้แน่ใจว่าได้ปฏิบัติตามมาตรฐาน เช่น W3C, OASIS, IETF, ISO, ECMA หรือ WS-I
ทดสอบขั้นตอนการทำงานทางธุรกิจ– ซึ่งจะรวมถึง
- ทดสอบสถานการณ์เวิร์กโฟลว์/ทางธุรกิจตั้งแต่ต้นจนจบ ซึ่งจะนำผู้ใช้ผ่านหน้าเว็บต่างๆ เพื่อดำเนินการให้เสร็จสิ้น
- ทดสอบสถานการณ์เชิงลบเช่นกัน เช่น เมื่อผู้ใช้ดำเนินการขั้นตอนที่ไม่คาดคิด ข้อความแสดงข้อผิดพลาดหรือความช่วยเหลือที่เหมาะสมจะแสดงในเว็บแอปพลิเคชันของคุณ
เครื่องมือที่สามารถใช้งานได้: QTP , IBM มีเหตุผล , Selenium
2. การทดสอบการใช้งาน
การทดสอบการใช้งาน ตอนนี้กลายเป็นส่วนสำคัญของโครงการบนเว็บ มันสามารถเป็นได้ ดำเนินการโดยผู้ทดสอบ ชอบคุณ หรือการสนทนากลุ่มเล็กๆ คล้ายกับกลุ่มเป้าหมายของเว็บแอปพลิเคชัน
เอกสาร เว็บไซต์ การเดินเรือ:
- เมนู ปุ่ม หรือลิงก์ไปยังหน้าต่างๆ บนไซต์ของคุณควรมองเห็นได้ง่ายและสม่ำเสมอบนหน้าเว็บทั้งหมด
เอกสาร คอนเทนต์:
- เนื้อหาควรอ่านได้ชัดเจนโดยไม่มีข้อผิดพลาดในการสะกดหรือไวยากรณ์
- รูปภาพหากมีควรมีข้อความ “alt”
เครื่องมือที่สามารถใช้งานได้: ชอล์กมาร์ก, เนื้อหาสแควร์และคลิปปี้
3. การทดสอบอินเทอร์เฟซ
เมื่อฟีเจอร์และการใช้งานเป็นไปอย่างราบรื่นแล้ว ให้ตรวจสอบว่าส่วนประกอบต่างๆ ที่อยู่เบื้องหลังนั้นสามารถสื่อสารกันได้หรือไม่ สามส่วนที่จะต้องทดสอบในที่นี้ ได้แก่ แอปพลิเคชัน เว็บ และเซิร์ฟเวอร์ฐานข้อมูล
- การประยุกต์ใช้: คำขอทดสอบจะถูกส่งไปยังฐานข้อมูลอย่างถูกต้อง และผลลัพธ์ที่ฝั่งไคลเอนต์จะแสดงอย่างถูกต้อง หากมีข้อผิดพลาดใดๆ จะต้องถูกตรวจพบโดยแอปพลิเคชัน และต้องแสดงให้ผู้ดูแลระบบเห็นเท่านั้น ไม่ใช่ให้ผู้ใช้ปลายทางเห็น
- เว็บเซิร์ฟเวอร์: เว็บเซิร์ฟเวอร์ทดสอบจะจัดการคำขอแอปพลิเคชันทั้งหมดโดยไม่มีการปฏิเสธบริการใดๆ
- เซิร์ฟเวอร์ฐานข้อมูล: ตรวจสอบให้แน่ใจว่าแบบสอบถามที่ส่งไปยังฐานข้อมูลให้ผลลัพธ์ที่คาดหวัง
ทดสอบการตอบสนองของระบบ โดยหมายถึง การเชื่อมต่อระหว่างสามชั้น (แอปพลิเคชัน เว็บ และฐานข้อมูล) ไม่สามารถจัดตั้งได้ และข้อความที่เหมาะสมจะแสดงต่อผู้ใช้ปลายทาง
เครื่องมือที่สามารถใช้งานได้: ราโนเร็กซ์
4. การทดสอบฐานข้อมูล
ฐานข้อมูลเป็นองค์ประกอบที่สำคัญอย่างหนึ่งของเว็บแอปพลิเคชันของคุณและต้องวางความเครียดเพื่อทดสอบอย่างละเอียด กิจกรรมการทดสอบจะรวมถึง-
- ทดสอบว่ามีข้อผิดพลาดใดๆ ปรากฏขึ้นขณะดำเนินการค้นหาหรือไม่
- ข้อมูล Integrity จะถูกเก็บรักษาไว้ในขณะที่สร้าง อัพเดต หรือลบข้อมูลในฐานข้อมูล
- ตรวจสอบเวลาตอบกลับของคำถามและปรับแต่งหากจำเป็น
- ข้อมูลทดสอบที่ดึงมาจากฐานข้อมูลของคุณจะแสดงอย่างถูกต้องในเว็บแอปพลิเคชันของคุณ
เครื่องมือที่สามารถใช้งานได้: QTP, Selenium
5. การทดสอบความเข้ากันได้
การทดสอบความเข้ากันได้ช่วยให้มั่นใจได้ว่าเว็บแอปพลิเคชันของคุณแสดงผลและทำงานได้อย่างถูกต้องบนอุปกรณ์ต่างๆ ซึ่งรวมถึง:
การทดสอบความเข้ากันได้ของเบราว์เซอร์:เว็บไซต์เดียวกันในเบราว์เซอร์ที่แตกต่างกันจะแสดงแตกต่างกัน คุณต้องทดสอบว่าแอปพลิเคชันเว็บของคุณแสดงอย่างถูกต้องในเบราว์เซอร์ต่างๆ หรือไม่ Javaสคริปต์ AJAX และการตรวจสอบสิทธิ์ทำงานได้ดี คุณสามารถตรวจสอบได้เช่นกัน โทรศัพท์มือถือ ความเข้ากันได้ของเบราว์เซอร์
การแสดงผลองค์ประกอบเว็บ เช่น ปุ่ม ช่องข้อความ ฯลฯ เปลี่ยนแปลงไปตามการเปลี่ยนแปลง Operaระบบ ting- ตรวจสอบให้แน่ใจว่าเว็บไซต์ของคุณทำงานได้ดีสำหรับการผสมผสานต่างๆ Operaระบบ ting เช่น Windows, Linux, Mac และเบราว์เซอร์ต่างๆ เช่น Firefox, Internet Explorer, Safari เป็นต้น
เครื่องมือที่สามารถใช้งานได้: Dynatrace
6. การทดสอบประสิทธิภาพ
วิธีนี้จะช่วยให้เว็บไซต์ของคุณทำงานได้ภายใต้ภาระงานทุกรูปแบบ กิจกรรมการทดสอบจะรวมถึงแต่ไม่จำกัดเพียง –
- เวลาตอบสนองของแอปพลิเคชันเว็บไซต์ที่ความเร็วการเชื่อมต่อที่แตกต่างกัน
- โหลดทดสอบเว็บแอปพลิเคชันของคุณเพื่อตรวจสอบพฤติกรรมภายใต้โหลดปกติและโหลดสูงสุด
- ทดสอบความเครียดเว็บไซต์ของคุณเพื่อกำหนดจุดพักเมื่อถูกผลักให้เกินโหลดปกติในช่วงเวลาเร่งด่วน
- ทดสอบว่าข้อขัดข้องเกิดขึ้นเนื่องจากการโหลดสูงสุดหรือไม่ และไซต์จะกู้คืนจากเหตุการณ์ดังกล่าวได้อย่างไร
- ตรวจสอบให้แน่ใจว่าเปิดใช้งานเทคนิคการเพิ่มประสิทธิภาพ เช่น การบีบอัด gzip เบราว์เซอร์ และแคชฝั่งเซิร์ฟเวอร์ เพื่อลดเวลาในการโหลด
เครื่องมือที่สามารถใช้งานได้: Loadrunner, JMeter
7. การทดสอบความปลอดภัย
การทดสอบความปลอดภัย มีความสำคัญสำหรับเว็บไซต์อีคอมเมิร์ซที่จัดเก็บข้อมูลลูกค้าที่ละเอียดอ่อนเช่นบัตรเครดิต กิจกรรมการทดสอบจะรวมถึง-
- ไม่ควรอนุญาตให้ทดสอบการเข้าถึงเพจที่ปลอดภัยโดยไม่ได้รับอนุญาต
- ไฟล์ที่ถูกจำกัดไม่ควรสามารถดาวน์โหลดได้หากไม่มีการเข้าถึงที่เหมาะสม
- เซสชันการตรวจสอบจะถูกฆ่าโดยอัตโนมัติหลังจากที่ผู้ใช้ไม่มีการใช้งานเป็นเวลานาน
- ในการใช้ใบรับรอง SSL เว็บไซต์ควรเปลี่ยนเส้นทางไปยังหน้า SSL ที่เข้ารหัส
Intruder
Intruder เป็นเครื่องสแกนช่องโหว่ที่ทรงพลังซึ่งจะช่วยให้คุณค้นพบจุดอ่อนมากมายที่ซุ่มซ่อนอยู่ในเว็บแอปพลิเคชันและโครงสร้างพื้นฐานพื้นฐานของคุณ นำเสนอการตรวจสอบความปลอดภัยชั้นนำของอุตสาหกรรม การตรวจสอบอย่างต่อเนื่อง และแพลตฟอร์มที่ใช้งานง่าย Intruder ช่วยให้ธุรกิจทุกขนาดปลอดภัยจากแฮกเกอร์
คุณสมบัติ
- ความคุ้มครองภัยคุกคามที่ดีที่สุดในระดับเดียวกันด้วยมากกว่า การตรวจสอบความปลอดภัย 10,000 ครั้ง
- ตรวจสอบจุดอ่อนของการกำหนดค่า แพตช์ที่หายไป จุดอ่อนของแอปพลิเคชัน (เช่น การแทรก SQL และการเขียนสคริปต์ข้ามไซต์) และอื่นๆ
- การวิเคราะห์และจัดลำดับความสำคัญของผลการสแกนโดยอัตโนมัติ
- อินเทอร์เฟซที่ใช้งานง่าย ติดตั้งและสแกนครั้งแรกได้อย่างรวดเร็ว
- การตรวจสอบความปลอดภัยเชิงรุกเพื่อหาช่องโหว่ล่าสุด
- AWS, Azureและ Google Cloud การเชื่อมต่อ
- การรวม API กับไปป์ไลน์ CI/CD ของคุณ
8. การทดสอบฝูงชน
คุณจะเลือกกลุ่มคนจำนวนมาก (ฝูงชน) เพื่อทำการทดสอบ ซึ่งโดยปกติแล้วการทดสอบเหล่านั้นจะดำเนินการโดยกลุ่มคนภายในองค์กรขนาดเล็ก การทดสอบแบบใช้ฝูงชนเป็นแนวคิดที่น่าสนใจและกำลังมาแรง และช่วยเปิดเผยข้อบกพร่องที่มองข้ามไปได้มากมาย
เครื่องมือที่สามารถใช้งานได้: แพลตฟอร์มการทดสอบฝูงชน
กระบวนการทดสอบเว็บแอปพลิเคชัน: ขั้นตอนโดยละเอียด
เทคนิคทั้งแปดข้อจะบอกคุณว่าควรตรวจสอบอะไรบ้าง ส่วนขั้นตอนด้านล่างจะบอกคุณว่าควรเรียกใช้เทคนิคเหล่านั้นเมื่อใด
- รวบรวมและชี้แจงข้อกำหนดต่างๆ ระบุสิ่งที่แอปพลิเคชันต้องทำและพฤติกรรมที่ควรจะเป็น ข้อกำหนดที่ไม่ชัดเจนจะทำให้ไม่สามารถทดสอบได้ ดังนั้นจึงต้องแก้ไขข้อกำหนดเหล่านั้นก่อน ขั้นตอนนี้จะช่วยเชื่อมโยงการทดสอบเว็บเข้ากับภาพรวมที่กว้างขึ้น วงจรชีวิตการทดสอบซอฟต์แวร์.
- เขียนแผนการทดสอบ ตัดสินใจว่าเทคนิคใดเหมาะสม ใครจะเป็นผู้ดำเนินการ เครื่องมือใดที่จำเป็น และระยะเวลาในการดำเนินการ แผนงานนี้คือแผนที่นำทางและการประมาณการของคุณ
- พัฒนาชุดทดสอบ แปลงข้อกำหนดแต่ละข้อให้เป็นขั้นตอนที่เป็นรูปธรรมพร้อมผลลัพธ์ที่คาดหวัง โดยครอบคลุมทั้งสถานการณ์ที่ราบรื่นและสถานการณ์ที่ไม่พึงประสงค์ที่ผู้ใช้อาจก่อให้เกิดโดยไม่ได้ตั้งใจ
- ตั้งค่าสภาพแวดล้อมสำหรับการทดสอบ ทำการจำลองการผลิตให้ใกล้เคียงที่สุดเท่าที่จะทำได้ตามงบประมาณที่มีอยู่: ใช้เบราว์เซอร์และระบบปฏิบัติการคู่เดียวกัน ปริมาณข้อมูลที่เทียบเคียงได้ และความเร็วเครือข่ายที่สมจริง
- ดำเนินการทดสอบ เรียกใช้เคสต่างๆ บันทึกผลลัพธ์ที่ได้จริงเทียบกับผลลัพธ์ที่คาดหวัง และบันทึกภาพหน้าจอ ข้อมูลจากคอนโซล และบันทึกของเซิร์ฟเวอร์ในขณะที่ยังสามารถจำลองความล้มเหลวได้
- รายงานและ tracข้อบกพร่อง k บันทึกปัญหาแต่ละรายการพร้อมขั้นตอนในการจำลองและลำดับความสำคัญ จากนั้นทดสอบซ้ำหลังจากแก้ไขแล้วและตรวจสอบให้แน่ใจว่าไม่มีสิ่งใดในบริเวณใกล้เคียงเสียหาย
- ปิดวงจร จัดทำสรุปผลการทดสอบ โดยระบุสิ่งที่ทดสอบ สิ่งที่พบ สิ่งที่ยังคงต้องดำเนินการ และสิ่งที่ต้องปรับปรุง จากนั้นลงนามอนุมัติเพื่อปล่อยเวอร์ชันใหม่
⚠️ วางแผนตารางเวลา ไม่ใช่แค่กำหนดการทดสอบ: การทดสอบเว็บไซต์เป็นเรื่องยากลำบาก และความกดดันเรื่องกำหนดเวลาคืออุปสรรคแรกที่คุณจะพบเจอ ตามมาด้วยการเปลี่ยนแปลงโค้ดซ้ำๆ ที่ทำให้งานที่ทำเสร็จแล้วไร้ประโยชน์ กำหนดรายละเอียดของแต่ละงานในขั้นตอนที่ 2 และสร้างแผนผังงานจากรายละเอียดเหล่านั้น


