วันนี้มีโอกาสไปแบ่งปันประสบการณ์การใช้งานโปรแกรม Postman
ใช้สำหรับการทดสอบระบบงานพวก REST API ผ่าน HTTP protocol
โดยใช้ชื่อว่า Postman in the Right Way ใน 1 วัน
เป็นคำแนะนำสำหรับการใช้งานที่คิดว่า น่าจะมีประโยชน์
มาจากประสบการณ์ใช้งานที่พอมีมาบ้าง

มีเป้าหมายว่า เครื่องมือถูกสร้างมาเพื่อลดงาน มิใช่เพิ่มงาน !!

สิ่งที่แบ่งปันประกอบไปด้วยเรื่องต่าง ๆ ดังนี้

เริ่มด้วยขั้นตอนการพัฒนาระบบ API เช่น REST API เป็นดังนี้

  • ทำการออกแบบ API Specification ในรูปแบบของเอกสารต่าง ๆ เช่น spreadsheeet เป็นต้น
  • ทำการประชุมเพื่ออธิบาย
  • ทำการพัฒนา API
  • ทำการ generate API document จากการพัฒนา เช่น Swagger หรือ OpenAPI ออกมา โดยเอกสารตัวนี้ใช้ทำอะไร ใครใช้บ้าง !!
  • ทำการทดสอบ API ด้วยเครื่องมือต่าง ๆ เช่น Postman เป็นต้น
  • มีการแนะนำ Bruno ให้ด้วย เผื่อจะสนใจ

คำถามที่น่าสนใจคือ มีเอกสารเรื่องเดียวกันกี่ชุด กี่ที่ กี่คนดูแล
เมื่อมีการแก้ไขในส่วนใดส่วนหนึ่งแล้ว
เอกสารทุก ๆ ตัวที่สร้างขึ้นมา ถูกแก้ไข หรือ เปลี่ยนแปลงตามไหม ?
ถ้าไม่ นั่นคือ มีปัญหาแน่นอน !!

หนึ่งแนวทางในการแก้ไขปัญหา ที่แนะนำคือ ทำใน Postman กันไปเลย

มาดูขั้นตอนการใช้งาน Postman กันดู

  • ทำการออกแบบใน Postman ไปเลย สร้าง workspace -> collection -> request ต่าง ๆ ไป
  • ทำการสร้าง folder ในแต่ละ collection มากเกินไปไหม ?
  • ในแต่ละ request ทำการสร้าง response แต่ละแบบด้วยการเพิ่ม example เข้ามา
  • ในแต่ละ collection และ request สามารถเขียน API documentation ได้เลย ในรูปแบบ Markdown นั่นเอง
  • ต่อมาในแต่ละ request สามารถเขียน test case ที่ต้องการตรวจสอบได้เลย
  • อีกทั้งเมื่อทำการออกแบบเรียนร้อยแล้ว สามารถสร้าง Mock Server ขึ้นมาจาก collection ที่ทำการออกแบบได้เลย
  • ดังนั้น เราจะได้ทั้ง API specification, API documentation, Test case และ Mock Server หลังการคุย หรือ ประชุมกันเรียบร้อย โดยที่ยังไม่ได้ทำการเขียน code ใด ๆ เลย

จากนั้นเราสามารถทำการ convert จาก Postman’s collection ไปยังเอกสารต่าง ๆ ได้อีกด้วย

ยกตัวอย่างเช่น

  • ไปเป็น Swagger หรือ OpenAPI ได้เลย มีคำแนะนำเกี่ยวกับ AsyncAPI ด้วย
  • ไปเป็น Apache JMeter และ K6 ได้เลย สำหรับการทำ performance testing ต่อไป

ต่อมาทำการแนะนำความสามารถต่าง ๆ ในการทดสอบด้วย Postman

ยกตัวอย่างเช่น

  • การเขียน Test case ของแต่ละ request ซึ่งมีทั้ง snippet code และ PostBot ให้ใช้งาน
  • ในการเขียน test case จะเน้นในเรื่องของการตรวจสอบ response ในรูปแบบ JSON ด้วย JSON Schema
  • จากนั้นเราสามารถ generate data test จาก JSON Schema ได้อีกด้วย
  • ต่อมาสิ่งที่แนะนำเพิ่มเติมคือการเขียน script ใน pre-request script ด้วย สำหรับช่วยในการ reuse การทำงานในการทดสอบ ที่มักจะเกิดจากการ duplicate request ขึ้นมา
  • การใช้งาน environment ใน Postman ทั้ง Global, collection และ request นั้น ๆ
  • การใช้งาน data ในการทดสอบของ collection ด้วย CSV และ JSON
  • แนะนำ performance testing ใน Postman ที่เพิ่มเข้ามาอีกด้วย สามารถกำหนดรูปแบบของการสร้าง Virtual user ได้ 4 แบบคือ Fixed, Ramp up, Spike และ Peak

ทำการปรับเปลี่ยนจาก manual test มาเป็น automated test ด้วย newman

  • ทำการติดตั้ง
  • ทำการ run ด้วย option ต่าง ๆ ทั้ง folder, environment และ report เป็นต้น
  • การทำงานบน pipeline ของ CI/CD

จากการแบ่งปันครั้งนี้ น่าจะพอทำให้เห็นว่า
เครื่องมือที่ใช้งานนั้น ช่วยลดงาน หรือ เพิ่มงาน !!!
ไว้เจอกันในการแบ่งปันรอบหน้าครับ
ลองปรับไปใช้งาน หรือ แก้ไขปัญหากันดู