automated-test Archive

ทำไม Developer ไม่เขียนชุดการทดสอบ

สิ่งที่น่าสนใจอย่างหนึ่งของนักพัฒนา software คือ มักจะพัฒนาให้มันเสร็จตามเวลา ส่วนเรื่องของความถูกต้องและคุณภาพก็ให้ความสำคัญนะ แต่ไม่ค่อยเน้นมากเท่าไร !! บ่อยครั้งกลับพบว่า จำนวนข้อผิดพลาดจำนวนมากจากการพัฒนา จากสิ่งที่บอกว่าเสร็จแล้ว เป็นประเด็นที่น่าสนใจคือ สิ่งที่นักพัฒนาบอกว่า เสร็จมันคืออะไรกันแน่

Read More…

แนวทางที่ดีสำหรับการทดสอบแบบอัตโนมัติ

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

Read More…

ความเข้าใจผิดเกี่ยวกับ Unit test คือทำแล้วไม่มี Bug !!

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

Read More…

ว่าด้วยเรื่องการทดสอบระบบงานกับ Database

มีคำถามเกี่ยวกับการทดสอบระบบงานกับพวก Database ชนิดต่าง ๆ ทั้ง RDBMS (Relational DataBase Management System) ทั้ง NoSQL เช่น Document, Key-value, Column และ Graph อีกทั้ง Time series ว่าจะทดสอบกันอย่างไรดี ? ต้องทำการ mock/stub database ไหม ? ต้องเขียน code อย่างไรเพื่อให้ทดสอบได้ง่าย (Testable) ? ต้องทำอย่างไร

Read More…

มาทดสอบ RESTful API ด้วยการเขียนเอกสารในรูปแบบ Markdown กัน

จากการพูดคุยเรื่องการทดสอบ RESTful API ที่ Facebook มีการพูดถึง Silk ซึ่งเป็น framework สำหรับการทดสอบ RESTful API ด้วยการเขียนเอกสารในรูปแบบ Markdown ดังนั้นจึงลองนำมาใช้งานแบบขำ ๆ กันหน่อย

Read More…

ว่าด้วยเรื่อง Spaghetti Pattern ในชุดการทดสอบ

ในการพัฒนา software นั้นเรามักจะได้ยินคำว่า Spaghetti code บ่อยมาก ๆ ซึ่งก่อให้เกิดปัญหาตามมามากมาย ส่งผลให้การดูแลรักษาระบบเป็นเรื่องที่ยาก และ ต้องใช้ค่าใช้จ่ายที่สูงมาก ๆ โดยปัญหานี้ก็ยังพบเจอในชุดการทดสอบอีกด้วย เนื่องจากทีมพัฒนาไม่สนใจ เนื่องจากทีมพัฒนาไม่ใส่ใจ เนื่องจากทีมพัฒนาไม่ทำการปรับปรุงให้ดีขึ้นอย่างสม่ำเสมอ หรืออาจจะไม่รู้ด้วยว่า สิ่งที่ทำลงไปนั้นมันก่อให้เกิดปัญหาอย่างไร ดังนั้นสิ่งที่ควรทำก็คือ ปรับปรุงชุดการทดสอบอย่างสม่ำเสมอ ทั้งการปรับปรุงโครงสร้าง ทั้งการลบชุดการทดสอบที่ไม่ได้ใช้งาน ทั้งเวลาในการทดสอบที่ต้องลดลง รวมทั้งปรับปรุงเรื่องความรู้ความสามารถอีกด้วย คำถามคือ ปัจจุบันเราทำการปรับปรุงกันบ้างหรือไม่ ? หรือเพียงทำให้มันเสร็จไปวัน ๆ เท่านั้นเอง !!

Read More…

[แปล] iOS Test Pyramid จากทีมพัฒนาของ LinkedIn

บทความเรื่อง iOS Test Pyramid จากทีมพัฒนาของ LinkedIn ทำการอธิบายวิธีการทดสอบของ iOS app เป็นขั้นตอนการทำงานที่สำคัญในกระบวนการ 3X3 iOS Release ซึ่งทำให้ทีมพัฒนาสามารถ release iOS app ภายใน 3 ชั่วโมงได้ ตั้งแต่การ commit code จนถึงการ publish ขึ้น App Store กันเลย หัวในหลักของการ Release นั่นก็คือ กระบวนการทดสอบแบบอัตโนมัตินั่นเอง โดยเน้นทั้งจำนวน code coverage และเวลาของการทำงานตั้งแต่การ commit จนถึงการ publish app ดังนั้นจึงนำบทความนี้มาแปลและสรุปตามความเข้าใจไว้นิดหน่อย

Read More…

วิธีลดจำนวนการทดสอบแบบ Manual ของ Mobile app

ผลการสำรวจเรื่อง Why App Succeed ? จาก Perfecto พบว่าในรูปแบบการทดสอบ Mobile App นั้นเป็นดังนี้ 30% เป็นการทดสอบแบบอัตโนมัติ 70% เป็นการทดสอบแบบอัตโนมือ !! การทดสอบ Mobile App ยังคงเป็น manual test เป็นหลัก แต่สิ่งที่ขาดไปไม่ได้เลยคือ การทดสอบแบบอัตโนมัติ ดังนั้นมาดูวิธีการเลือกรูปแบบการทดสอบกันหน่อย เพื่อทำให้การทดสอบสนุกและเจ็บปวดน้อยลง

Read More…

[Appium] การติดตั้งสำหรับทดสอบ iOS app

Appium คือ framework สำหรับการทดสอบ mobile app ทั้ง Android และ iOS ซึ่งก่อนเริ่มใช้งานก็ต้องติดตั้ง software ต่าง ๆ ดังนั้นมาทำการติดตั้งสำหรับทดสอบ iOS app กัน Software ที่ใช้งานประกอบไปด้วย OS X EI Capitan XCode 7.3.1 Appium

Read More…

Regression Testing คืออะไร ?

เช้านี้อ่านเจอบทความเรื่อง What is Regression Testing ? ทำการอธิบายเกี่ยวกับ Regression testing ว่าคืออะไร ? มีเป้าหมายเพื่ออะไร ? และจะลงมือทำการทดสอบเมื่อใด ? จึงทำการสรุปการอ่านไว้นิดหน่อย

Read More…