Tuesday, August 12, 2014

ติดตั้ง Selenium IDE เพียง 5 ขั้นตอน

ตามที่สัญญาไว้ว่าจะมาเขียนเกี่ยวกับ Selenium IDE วันนี้อยู่ว่างเลยจะมาแนะนำเพื่อนๆวิธีการติดตั้ง Selenium IDE ภายใน 5 steps ตามนี้ครับ

1. Selenium IDE เป็น Add on บน Firefox สามารถ Download ที่นี่เลย โดยเลือกส่วน Selenium IDE  file ที่ download ชื่อ selenium-ide-<version>.xpi

2. Install add on โดยเปิด Firefox แล้วไปที่เมนู Tools > Add on > กดตรงสัญญาลักษณ์รูปเฟือง > Install Add-on From File... จากนั้นก็เลือกไปที่ File ที่ download มา แล้วรอ install จนเสร็จจึง restart Firefox

4. เปิด Firefox ขึ้นมาใหม่เราจะเจอ icon Selenium IDE ตามรูป

Selenium_IDE

5. เรียบร้อยลองกดดู จะได้หน้าตาแบบนี้

[caption id="attachment_43" align="aligncenter" width="300"]Selenium_IDE_2_5_0 Selenium IDE 2.5.0[/caption]

เรียบร้อยครับ :) Post หน้าผมจะมาเขียนเพิ่มถึงวิธีการเริ่มต้นใช้งาน Selenium IDE เบื้องต้นแบบง่ายๆโดยไม่จะเป็นต้องมาความรู้เรื่องการเขียนโปรแกรม ก็สามารถเรียนรู้ได้ครับ โปรดติดตาม :X

Monday, July 14, 2014

Selenium คือ - มีแต่คนถามตอนสัมภาษณ์งาน

หลายคนได้ยิน Keyword Selenium ตามเว็บหางานในสาย QA/Tester ก็คงสงสัยว่ามันคืออะไรกันน๊า อยากจะทำแต่ไม่รู้จะเริ่มยังไง แค่ลองมา search google ก็คงขึ้เกียจอ่านละ วันนี้ผมจะมาเล่าว่ามันคืออะไรกันแน่

เริ่มกันที่ "Selenium" มันก็คือ tools ตัวนึงที่ไว้ทำ automated test บนเว็บเบราเซอร์ แต่ Selenium ไม่ได้จำกัดแค่การเทส สำหรับงานที่ต้องทำอะไรซ้ำบนเว็บเช่น key ข้อมูลซำ้ Selenium ก็สามารถทำได้ สาเหตุที่หลายบริษัทใช้ Selenium ก็เพราะ Free และมี Community ที่ใหญ่พอสมควร

Selenium มี 2 แบบ คือ Selenium IDE คือ Add-On บน Firefox สามารถทำ Record & Playback คนที่ไม่มีพื้นฐานการเขียนโปรแกรมก็ทำได้ ส่วนอีกแบบ Selenium WebDriver คือ API ที่ใช้ในการ Drive เบราเซอร์ให้ทำตามที่เราต้องการ โดยเราสามารถใช้ Programming language ที่เราถนัดในการสั่งได้

Selenium_-_Web_Browser_Automation

สำหรับการเลือกว่าจะใช้ Selenium IDE หรือ Selenium WebDriver ขึ้นอยู่กับ character ของ Application under test ของเรา ถ้าเป็นเว็บที่มี Business Logic ที่ซับซ้อน มีการใช้ Script บนหน้า Page เยอะแยะ มี Custom UI/Element มากมาย ผมแนะนำว่าควรจะใช้ Selenium WebDriver + Programming Language ที่คนในทีมถนัด แต่ในทางกลับกัน ถ้าหน้าเว็บของเราไม่มีความซับซ้อน เป็น html ง่ายๆ Selenium IDE น่าจะเหมาะกับงานนี้

เราก็รู้จัก Selenium แบบผิวเผินไปบ้างแล้วว่าคืออะไร และเชื่อว่าเพื่อนๆคงสามารถเลือกได้ว่าเราจะใช้ Selenium แบบไหนเหมาะกับ Application ของเรา ไว้คราวหน้าผมจะเขียนเกี่ยวกับ Selenium IDE ไม่ยากครับ คอยติดตาม

Friday, July 11, 2014

Automated test framework ที่ดี ควรเป็นอย่างไร

ช่วงหลายปีที่ผ่านมา เพื่อนๆที่กำลังหางานตำแหน่ง software tester/qa คงจะต้องเห็นใน job description ว่า ต้องมีประการณ์ automation test หรือคุ้นเคยกับ automated tools มาบ้าง จะเป็นข้อได้เปรียบ แสดงให้เห็นว่าใน software developement เดี๋ยวนี้ บริษัทคงไม่อยากจ้างคนจำนวนมากๆมากนั่งเทสได้อีกต่อไป ดังนั้นการมีความรู้ว่า automated test ควรจะเริ่มยังไง หรือ automated test framework ที่ดี ต้องเป็นยังไง น่าจะเป็นสิ่งที่เพิ่ม value ให้กับ tester เอง

วันนี้เลยอยากจะเขียนจากประสบการณ์ในการทำ automated framework ที่ดีและไม่ดี มาบอกเพื่อนๆ เผื่อวันนึง มีโจทย์จากหัวหน้าให้ build automated test เราควรจะคำนึงถึงอะไรบ้าง

automated test framework

แล้ว Automated test framework ที่ดี ควรเป็นอย่างไร

ต้อง stable - จากประสบการณ์ที่เคยพบมา บางครั้งเรา run test ผ่านบ้างไม่ผ่านบ้าง เนื่องจาก framework ไม่ stable เนื่องด้วยข้อจำกัดหลายๆอย่างทั้งตัว application under test เอง หรือ tools ที่ใช้สร้าง framework ดังนั้นก่อนเราจะเลือก tools ควรลองสร้าง prototype แล้วลอง run test กับ application เราก่อน

ต้อง maintain ง่าย -  application under test ต้องมีการเพิ่ม/ลด function เปลี่ยนโน้นแก้นี่เสมอ ตาม requirement ของลูกค้า นี่คือสิ่งที่เราหลีกเลี่ยงไม่ได้ ดังนั้น automated framework ของเราควรรองรับการเปลี่ยนแปลง tester เข้าไปแก้ test suite/script ได้ง่าย ไม่ซับซ้อน แก้น้อยจุด ถ้าเปรียบ Dev คือ coding ตาม design pattern เพิ่มการทำงานให้ดีขึ้น รองรับการเปลี่ยนแปลงได้ง่าย

คำนึงถึง skill set ของ tester ในทีม - tester ในทีมอาจจะมี skill set และ mind set ที่ต่างกัน การที่เราจะ สร้าง framework ให้เค้าเหล่านั้นใช้ ก็ควรจะฟังความคิดเห็นของเค้าบ้าง ตัวอย่างเช่น tester บางคนเกลียดการ coding มากแค่รู้ว่าต้องทำ automated test ไม่อยากทำ ตั้งอคติแล้ว ดังนั้นคนที่ตัดสินใจว่า framework จะทำในลักษณะไหน ควรจะสนใจ tester คนนี้ด้วยว่า framework ควรจะไม่ให้testerแก้ code มาก

ตอนนี้ยังนึกเพิ่มเติมไม่ออก ถ้ามีเพิ่มจะมา update เพิ่มเติมที่หลัง :) สำหรับคนที่ได้โจทย์ให้ทำ automated test framework ก็อย่าลืมมองสิ่งที่ผมเขียนดูละกันนะครับ ใช้เวลาในการ design เยอะหน่อยเพื่อที่จะได้ให้ tester ทุกคนในทีมทำงานกันอย่างมีสุข ไม่คิดลาออกไปก่อน :(