บทความและข่าวสาร | Seven Peaks Insights

คู่มือการเริ่มทดสอบ API สำหรับมือใหม่

ปลดล็อกพลังในการทำ QA ของคุณ

การยกระดับ QA ไปสู่บทบาทหลักที่มีความสำคัญ ทำให้สามารถพัฒนาการทดสอบที่มีประสิทธิภาพสูงและช่วยยกระดับคุณภาพโดยรวมของโปรดักต์ให้ดีกว่าเดิม แนวทางนี้ไม่เพียงแต่นำไปสู่ระบบที่มีฟังก์ชันการทำงานที่ดีขึ้นเท่านั้น แต่ยังรับประกันความสามารถในการบำรุงรักษาและประสิทธิภาพสูงสุดอีกด้วย 

นอกจากนี้ยังมีขอบเขตและความสนใจของ QA อีกมากมาย ไม่ว่าจะเป็นประเด็นของ UI/UX, เรื่องทางเทคนิค, การรักษาความปลอดภัย, ธุรกิจ, ระบบอัตโนมัติ, และ DevOps เหล่านี้ล้วนมีบทบาทสำคัญทั้งสิ้น โดยตอนนี้เราจะพาคุณไปเจาะลึกถึงพื้นฐานของการทดสอบ API ในคู่มือการเริ่มต้นใช้งานของเรากันดีกว่า

 

 

ขั้นตอนการทำงานของ Seven Peaks

Screenshot_2-1

 

การทดสอบ API และประโยชน์ที่ได้รับ

API-Testing-and-Benefits

 

การทดสอบ API เป็นวิธีการทดสอบซอฟต์แวร์ที่เน้นการตรวจสอบการทำงานและความน่าเชื่อถือของ Application Programming Interfaces (API) โดยทั่วไปแล้วการตรวจสอบนี้จะเกิดขึ้นในชั้นธุรกิจ ซึ่งเป็นหนึ่งในสามชั้นในแอปพลิเคชัน ซึ่งประกอบด้วยชั้นการนำเสนอ, ชั้นธุรกิจ, และชั้นฐานข้อมูล

วัตถุประสงค์ของการทดสอบ API คือการตรวจสอบการทำงานของอินเทอร์เฟซการเขียนโปรแกรม ดูเหมือนว่าการทดสอบ API จะแตกต่างจากการทดสอบ GUI และจะไม่เน้นที่รูปลักษณ์ของแอปพลิเคชันด้วย

การแก้ไขเวลาที่เร็วขึ้น: การทดสอบ API ใช้เวลาน้อยกว่าการทดสอบการทำงานและการตรวจสอบความถูกต้อง ซึ่งประหยัดเวลาโดยเฉลี่ย 3 ชั่วโมง

การลดต้นทุนการทดสอบอย่างมีประสิทธิผล: การทดสอบ API ต้องใช้โค้ดน้อยกว่าการทดสอบ GUI ซึ่งให้ผลการทดสอบที่ดีขึ้นและลดต้นทุน ซึ่งยิ่งผลการทดสอบบ่งบอกว่าเร็วขึ้นก็หมายถึงการใช้ต้นทุนที่ลดลงนั่นเอง

 

Postman/Newman สำหรับการทดสอบ API ของผู้เริ่มต้นทำ QA

รับประโยชน์สูงสุดจากการทดสอบด้วย Postman/Newman

Postman นั้นมีประโยชน์มากหากคุณเป็นมือใหม่ที่ยังขาดความรู้พื้นฐานเกี่ยวกับการเขียนโค้ดและต้องการลองใช้การทดสอบ API เป็นแพลตฟอร์มการทำงานร่วมกันสำหรับการพัฒนา API ที่ใช้เพื่อสร้าง API ที่ดีขึ้น นอกจากนี้ยังสามารถรวมเข้ากับ CLI โดยใช้ Newman ได้อีกต่างหาก

ในฝั่งของ Newman นั้นเป็น Collection Runner สำหรับ Postman ที่ช่วยให้คุณสามารถรันและทดสอบ Postman เพื่อทำให้การทดสอบ API ของเราเป็นไปแบบอัตโนมัติ โดยคุณสามารถที่จะติดตั้งโปรแกรมนี้บนระบบปฏิบัติการ เช่น Linux, Windows และ MacOS ได้ฟรีไม่มีค่าใช้จ่าย

  • สร้างชุดทดสอบได้อย่างง่ายดาย
  • จัดเก็บข้อมูลสำหรับการรันการทดสอบในสภาพแวดล้อมที่แตกต่างกัน
  • จัดเก็บข้อมูลสำหรับการใช้งานการทดสอบอื่นๆ
  • ย้ายการทดสอบและสภาพแวดล้อมไปยังที่เก็บโค้ดได้อย่างง่ายดาย

ใช้งานร่วมกับระบบการสร้าง เช่น Jenkins ผ่านเครื่องมือ command line ของ Newman

คุณสามารถกำหนดเวลาการ regression test ตั้งแต่รายวัน, รายสัปดาห์, หรือรายเดือนก็ได้เมื่อทีม backend ส่งการอัปเดตข้อมูลเข้ามาใน Jenkins ซึ่งนี่จะช่วยให้คุณสามารถสร้างรายงาน HTML และ export ข้อมูลได้ในภายหลัง โดยสคริปต์การทดสอบจะถูกเก็บไว้ใน Bitbucket เพื่อให้คนที่เกี่ยวข้องเข้ามาตรวจสอบได้ในอนาคต

เรียกใช้ collection โดยใช้ Newman

วิธีการดำเนินการ:

  • ติดตั้ง Node.JS ในระบบปฏิบัติการของคุณ
  • ติดตั้ง Newman จาก npm ทั่วโลกบนระบบของคุณ ซึ่งช่วยให้คุณสามารถเรียกใช้งานสิ่งนี้ได้จากทุกที่
  • รันคำสั่ง $ npm install -g newman

รายงาน

วิธีการดำเนินการ:

เนื่องจากเรามีรายงานการรวบรวมอยู่ใน collection จึงยังคงเป็นไปได้ที่จะสร้างรายงาน HTML และ export ในภายหลังในรูปแบบของ HTML สำหรับ collection

  • ติดตั้ง Reporter HTML ใช้คำสั่ง npm install -g newman-reporter-html
  • คำสั่งสร้างรายงานหลังจากติดตั้ง Reporter แล้ว
  • รัน $ newman
    https://www.getpostman.com/collections /my_api_documentation -e –reporters=cli,html

Postman monitors

Postman monitors คืออะไร?

Postman monitors คือ collection monitors ที่ได้รับการตั้งค่าและดำเนินการตามความถี่ในการกำหนดค่าซึ่งใช้ในการเรียกใช้ collection ที่มีความถี่เฉพาะ โดยจำเป็นต้องมีการตรวจสอบผลลัพธ์และความล้มเหลว และเราจะได้รับการแจ้งเตือนผ่านทางอีเมลหรือ Slack

การใช้ workspaces ใน Postman คืออะไร?

Workspace ของ Postman เป็นพื้นที่การทำงานร่วมกันกับเพื่อนร่วมงานหรือทีมเพื่อทำงานใน collection หรือชุด collection เดียวกัน

คำขอที่ดำเนินการผ่านแอปพลิเคชัน Postman นั้นมีไว้สำหรับการอ้างอิงในส่วนของประวัติการใช้งาน ดังนั้น หากคำขอใดๆ ไม่ได้ถูกบันทึกลงใน collection ก่อนที่จะดำเนินการ คุณก็สามารถไปที่ส่วนประวัติการใช้งานเพื่อรับคำขอที่ได้ดำเนินการและถูกบันทึกลงใน collection ได้

Fiddler สำหรับมือใหม่ที่ทำการทดสอบ API

Progress-Telerik-Fiddler

Fiddler เป็นเครื่องมือตรวจสอบข้อมูลที่ช่วยให้คุณเห็นการรับส่งข้อมูล HTTP ในฝั่งขาเข้าและขาออกได้อย่างง่ายดาย พร้อมทั้งสามารถบันทึกและตรวจสอบการรับส่งข้อมูลทั้งหมดระหว่างคอมพิวเตอร์ของคุณกับอินเทอร์เน็ต และยังจำลองคำขอหรือการตอบกลับได้อีกด้วย ซึ่งขณะนี้มีให้บริการในทุกระบบปฏิบัติการ

ขั้นตอนการตั้งค่าอย่างรวดเร็ว

  • ดาวน์โหลดตัวติดตั้ง Fiddler จากเว็บไซต์ที่นี่
  • ตั้งค่าเซิร์ฟเวอร์ของ Fiddler ซึ่งจะใช้เวลาไม่เกิน 30 นาที
  • สุดท้าย ตั้งค่า client ของ Fiddler

ฟีเจอร์และประโยชน์ที่ได้รับ

  • สังเกตการรับส่งข้อมูลจากแอปพลิเคชันใดๆ ที่ใช้พร็อกซีและถอดรหัสเซสชันเว็บ HTTP ที่ใช้ตรวจสอบ API, ตำแหน่งข้อมูล, และโค้ดที่ผิดพลาดได้อย่างง่ายดาย
  • คำขอของ Tampering client และการตอบกลับของเซิร์ฟเวอร์ใช้เพื่อจำลองข้อมูลทดสอบหากมีปัญหาใดๆ
  • สามารถใช้สำหรับการ debug การรับส่งข้อมูลเว็บ ซึ่งเราสามารถตรวจสอบการดูแลการแสดงสิ่งที่เราส่งไปยังเซิร์ฟเวอร์หรือการเข้ารหัสที่เราได้รับ
  • สามารถใช้สำหรับการทดสอบความปลอดภัย

Fiddler ใช้ได้กับ Mac OS ได้หรือไม่?

ใช้ได้แน่นอน เพราะในเวอร์ชันล่าสุดในปี 2020 รองรับ Mac OS เป็นที่เรียบร้อย และนอกเหนือจาก Mac OS แล้ว Fiddler ก็ยังรองรับ Linux และ Windows อีกด้วย

เราสามารถดูการรับส่งข้อมูลได้จากมือถือหรือพีซีเท่านั้น?

คุณสามารถดูได้จากทั้งสองอุปกรณ์ ตราบใดที่อุปกรณ์เหล่านั้นเชื่อมต่อกับพร็อกซีและตั้งค่าใบรับรองเรียบร้อย โดยเราจะสามารถดูและดำเนินการตามคำขอรวมถึงการตอบกลับได้จากเว็บไซต์หรือมือถือ

สำหรับการทดสอบ API คุณชอบอันไหน: Postman หรือ Fiddler

Fiddler ค่อนข้างเป็นเครื่องมือที่ดีสำหรับการทดสอบ โดยเฉพาะอย่างยิ่งสำหรับมือใหม่ที่เพิ่งเริ่มทำการทดสอบ API เนื่องจากมีหลายสิ่งที่เราสามารถทำได้ เช่น การดู API, การแก้ไขคำขอ, และการตอบกลับ แต่แอปฯ นี้จะมุ่งเน้นไปที่การทดสอบ API เท่านั้น ต่างจาก Postman ที่ยังคงเป็นเครื่องมือที่ดีที่สุดที่สามารถใช้ได้ในตอนนี้ แต่หากการทดสอบเกี่ยวข้องกับการตรวจสอบการรับส่งข้อมูล, การแก้ไขการรับส่งข้อมูล (ขาเข้าและขาออก), การตรวจสอบการรับส่งข้อมูลจากมือถือ, การควบคุมปริมาณแบนด์วิดท์, ฯลฯ Fiddler คือเครื่องมือที่เหมาะสมมากๆ


คุณอยากให้ QA ของเราช่วยตรวจสอบโปรเจกต์ใช่ไหม?
เข้ามาพูดคุยเพื่อดูว่ามีอะไรที่เราสามารถช่วยคุณได้บ้าง
ดูบริการ QA ของเรา