automated-test Archive

ทำความรู้จักกับ Android Test Orchestrator

เนื่องจากมีเหตุต้องมาใช้งาน Android Test Orchestrator เพื่อช่วยแก้ไขปัญหาและปรับปรุงการทำงานของ Instrumentation test ของ Android app ดังนั้นจึงทำการสรุปความรู้พื้นฐานและการใช้งานไว้นิดหน่อย น่าจะเป็นเครื่องมือที่ใช้กันน้อยมาก ๆ แต่มันก็มีประโยชน์นะ

Read More…

อย่างน้อยก็ขอให้ทดสอบหน้าแรกก่อนนะ

มีโอกาสไปแบ่งปันเรื่องการทดสอบแบบอัตโนมัติสำหรับ Mobile app ทั้ง iOS และ Android คำถามที่น่าสนใจคือ ทุกวันนี้ Mobile app ที่พัฒนากันนั้น ทดสอบกันอย่างไร ? ทดสอบด้วยคนหรือแบบอัตโนมัติเป็นหลัก ? ถ้าทดสอบด้วยคน คำถามต่อมาคือ ทดสอบทุก ๆ feature ไหม

Read More…

ทำไม 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…