แชร์เรื่องนี้
คู่มือการเริ่มทดสอบ API สำหรับมือใหม่
โดย Seven Peaks เมื่อ 9 ธ.ค. 2020, 10:23:00
ปลดล็อกพลังในการทำ QA ของคุณ
นอกจากนี้ยังมีขอบเขตและความสนใจของ QA อีกมากมาย ไม่ว่าจะเป็นประเด็นของ UI/UX, เรื่องทางเทคนิค, การรักษาความปลอดภัย, ธุรกิจ, ระบบอัตโนมัติ, และ DevOps เหล่านี้ล้วนมีบทบาทสำคัญทั้งสิ้น โดยตอนนี้เราจะพาคุณไปเจาะลึกถึงพื้นฐานของการทดสอบ API ในคู่มือการเริ่มต้นใช้งานของเรากันดีกว่า
ขั้นตอนการทำงานของ Seven Peaks
การทดสอบ API และประโยชน์ที่ได้รับ
การทดสอบ 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
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 คือเครื่องมือที่เหมาะสมมากๆ
แชร์เรื่องนี้
- FinTech (11)
- การพัฒนาซอฟต์แวร์ (10)
- Expert Spotlight (8)
- อาชีพการงาน (8)
- Cloud (5)
- InsurTech (5)
- Mixpanel (5)
- Agile (4)
- Digital Transformation (4)
- JavaScript (4)
- QA (4)
- Trend (4)
- การพัฒนาแอปพลิเคชัน iOS (4)
- Android Developer (3)
- Azure (3)
- Banking (3)
- CSR (3)
- Hybrid App (3)
- IoT (3)
- Product-Centric Mindset (3)
- Seven Peaks Insights (3)
- Thought Leadership (3)
- การพัฒนาแอปฯ Android (3)
- การออกแบบ UX (3)
- บริษัท (3)
- เทคโนโลยีการเงินและการธนาคาร (3)
- .NET (2)
- AI (2)
- Cross-Platform Application (2)
- Data (2)
- Kotlin (2)
- Native App (2)
- ReactJS (2)
- digital marketing (2)
- การพัฒนาแอปฯ (2)
- งาน Product Owner (2)
- 5g (1)
- Android (1)
- AndroidX Biometric (1)
- Azure OpenAI Service (1)
- Biometrics (1)
- CI/CD (1)
- Customer Data Platform (1)
- Data and Analytics (1)
- Design Thinking (1)
- DevOps (1)
- Digital Healthcare (1)
- Digital ID (1)
- Digital Landscape (1)
- Digital Product (1)
- Digital Product Development (1)
- E-payment (1)
- E-wallet (1)
- Financial Inclusion (1)
- GraphQL (1)
- IT Outsourcing (1)
- MVP (1)
- MVVM (1)
- Metaverse (1)
- Morphosis (1)
- Node.js (1)
- Partner (1)
- Platform Engineering (1)
- Recruitment (1)
- SCB (1)
- SEO (1)
- Scrum Master (1)
- Software Engineer (1)
- Software Tester (1)
- Stripe (1)
- Swift (1)
- SwiftUI (1)
- Tech Meetup (1)
- Turnkey (1)
- UI (1)
- UX (1)
- UX Design (1)
- UX writing (1)
- Web-Debugging Tool (1)
- customer centric (1)
- iOS17 (1)
- waterfall (1)
- การจ้างงาน (1)
- การพัฒนาด้วย RabbitMQ (1)
- การพัฒนาระบบคลาวด์ (1)
- การออกแบบ Decorator Pattern (1)
- การใช้งาน C# (1)
- งาน Product Manager (1)
- งาน platform enginerring (1)
- ทำ Context API (1)
- ฟินเทค (1)
- ระบบการชำระเงิน (1)
- สร้าง brand loyalty (1)
- อีคอมเมิร์ซ (1)
- เขียนโค้ด React (1)
- เทคโนโลยี React (1)
- เพิ่ม conversion (1)
- เฟรมเวิร์ก (1)
- แดชบอร์ด (1)
- สิงหาคม 2024 (1)
- กรกฎาคม 2024 (2)
- มีนาคม 2024 (5)
- กุมภาพันธ์ 2024 (5)
- มกราคม 2024 (14)
- ธันวาคม 2023 (4)
- พฤศจิกายน 2023 (9)
- ตุลาคม 2023 (12)
- กันยายน 2023 (7)
- กรกฎาคม 2023 (4)
- มิถุนายน 2023 (3)
- พฤษภาคม 2023 (3)
- เมษายน 2023 (1)
- มีนาคม 2023 (1)
- พฤศจิกายน 2022 (1)
- สิงหาคม 2022 (4)
- กรกฎาคม 2022 (1)
- มิถุนายน 2022 (4)
- เมษายน 2022 (6)
- มีนาคม 2022 (3)
- กุมภาพันธ์ 2022 (6)
- มกราคม 2022 (3)
- ธันวาคม 2021 (2)
- ตุลาคม 2021 (1)
- กันยายน 2021 (1)
- สิงหาคม 2021 (3)
- กรกฎาคม 2021 (1)
- มิถุนายน 2021 (2)
- พฤษภาคม 2021 (1)
- มีนาคม 2021 (4)
- กุมภาพันธ์ 2021 (4)
- ธันวาคม 2020 (4)
- พฤศจิกายน 2020 (1)
- มิถุนายน 2020 (1)
- เมษายน 2020 (1)