สวัสดีครับพี่น้องชาว Pantip ทุกท่าน
วันนี้ผมมีเรื่องราวมาแลกเปลี่ยนแก่ทุกท่านในวงการทดสอบซอฟต์แวร์ครับผม
ผมเองก็เป็นโปรแกรมเมอร์บ้านๆ มาตั้งแต่ต้นนะครับ แต่หลังๆ มาก็เริ่มหลงรักการจับผิดซอฟต์แวร์ เอ๊ะ! จะว่าเป็น นักทดสอบซอฟต์แวร์มือสมัครเล่นก็ได้นะครับ ในเวลาว่างก็มักจะได้รับเชิญจากเพื่อนๆ อยู่บ่อยๆ ให้มาช่วย Test ระบบ ส่วนใหญ่ก็จะเป็นจำพวก Web Application ต่างๆ ที่ถูกพัฒนาขึ้นโดยเทคโนโลยีที่แตกต่างกัน
เอาล่ะสิ เริ่มต้นตอนแรกๆ แบบบ้านๆ ก็ไม่มีความรู้นะครับ ว่าจะใช้ Tool อะไรดี ก็เริ่มจากการลองใส่ข้อมูลไป ทีละช่องๆ แล้วก็กดปุ่มนั่นนี่ แล้วดูสิว่าผลลัพธ์มันเป็นไปตามที่ต้องการหรือเปล่า มันถูกต้องหรือเปล่า โอ้โห...ผมอยากบอกว่า วิธีนี้ทำเอาผมแทบอ๊วกเลยนะครับ เพราะอะไรหรอครับ ? เอาแค่ให้ทุกท่านลองจินตนาการไปถึงหน้า Register นะครับ ที่มีช่องต่างๆ ให้กรอกเยอะแยะมากมาย ทั้งชื่อ นามสกุล ที่อยู่ และก็ตามมาด้วยช่องอื่นๆ อีกเพียบอย่างอลังการเลยทีเดียว ลำพังผมจะมา Test ด้วยการกรอกข้อมูลลงไปด้วยมือแล้วกดปุ่ม "ลงทะเบียน" หากเป็นรอบเดียวก็ยัง "สู้โว๊ย !!" นะครับ ปัญหาคือหากผมมีข้อมูลที่ต้องทดสอบเป็นร้อยๆ พันๆ ชุดล่ะ ผมจะไม่ต้องกรอกจนมือเดี้ยงเลยหรอครับพี่น้อง T_T
จากนั้นด้วยความขี้เกียจ ผมก็เริ่มหา Tool ดีๆ สักตัวมาใช้ครับเผื่อจะผ่อนแรงไปบ้าง ก็มาเจอหนังสือของอาจารย์ไทยเราท่านหนึ่งล่ะครับ เขียนไว้ชัดเจนและดีมากๆ (หากสนใจก็หลังไมค์ล่ะกันนะครับ) เขียนไว้ด้วยเรื่อง Automate Test ก็ดูๆ อ่านๆ ตีลังกาอ่านแล้ว อ่านอีก ก็ Get Idea เลยล่ะครับงานนี้ ก็เริ่มมารู้จักไอ Tool เสียเงินที่ชื่อว่า QTP หรือหากเรียกเต็มๆ ก็คือ QuickTest Professional (สามารถ Test Mobile App ได้ด้วยนะครับ)
โห...แม่เจ้า มันทำให้ชีวิตผมดีขึ้นอย่างกับได้เกิดใหม่อีกครั้ง มันสุดยอดก็ไอ้ตรงที่ ผมเพียงแค่ทิ้งข้อมูลที่จะใช้กรอกหรือทดสอบลงในไฟล์ Excel จะเป็นร้อย เป็นพัน เป็นหมื่น แสน ล้าน ผมไม่กลัวแล้วครับ เพราะ คุณ QTP จะคอยไปเรียกข้อมูลจาก Excel ขึ้นมาพิมพ์ลงในหน้าเว็บคุณให้โดยอัตโนมัติ หลักการนี้ทาง Test เขาเรียกว่า “Key Driven Framework” พร้อมทั้งบันทึกผลลัพธ์จากการทดสอบออกมาใส่ในไว้ไฟล์ Excel ให้ด้วยว่า "ทดสอบผ่าน" หรือ "ทดสอบไม่ผ่าน" แล้วกรณีที่มัน "ทดสอบไม่ผ่าน" มันก็จะบอกด้วยนะครับ ว่า "เฮ้ย...มี Error ตรงนี้ ๆ นะ กลับไปดูใหม่ไป๊ !!" 5555+ ยังไม่พอนะครับ แหม่... เจ้า QTP ยังเจ๋งถึงขนาดเลือกได้ว่า ต้องการบันทึกหน้าตาของโปรแกรมระหว่างการบันทึกเป็นรูปภาพหรือวิดีโอไว้ด้วยหรือเปล่า หรือที่เรียกว่า Screen Recorder ได้ด้วย โดยไม่ต้องไปพึ่งหมอไสย หรือ Plugin ในบราวเซอร์มาติดตั้งเพิ่มเติมเลยนะครับพี่น้อง
(เห็นรูปแล้ว บางท่านอาจอยู่ในภาวะ งงๆ นะครับ ไม่เป็นไรครับ เรื่องพวกนี้มีอยู่ใน Google ทั่วไปครับ)
รูปตัวอย่างของ Screen Recorder ของ QTP ครับ
งานนี้ก็หมูๆ เลยล่ะครับที่นี้ หากมี Error ขึ้นมาปั๊บ ผมก็แค่จัดส่งไฟล์ Excel ไปหาเพื่อนเลย พร้อมทั้งรูปหลักฐานยืนยันตรงที่มัน Error ให้ด้วย หรือหากต้องการความสะดวกสบายมากยิ่งขึ้น ก็สามารถสั่งให้มันจัดส่งไฟล์ผล Test ต่างๆ ไปทาง E-mail ได้โดยอัตโนมัติเลยครับ ซึ่งทั้งหมดนี้ เราไม่ต้องเสียเวลาไปทำเอกสารเลย คุณ QTP เขาจัดการทำเอกสาร ทำรูปประกอบ Error ให้เราหมดเลยครับ หน้าที่ของผมก็เพียงแค่ปล่อยมัน Run Auto ไปแบบนั้นแหละ แล้วก็มานั่งกิน นม ชา กาแฟ (แอบดูหนังบ้างในบางครั้ง) เพื่อรอแล้วมาดูผลลัพธ์แค่นั้น
ผมเชื่อว่า ปัญหาที่สำคัญอีกอย่างหนึ่งที่อาจทำให้พี่น้องนักทดสอบซอฟต์แวร์ทั้งหลายต้องปวดหัวและถอดใจ เมื่อต้องการจะนำ Automate Test มาใช้ (เคยทำให้ผมปวดกระหม่อมอย่างมาก) ก็คงจะเป็นพวก Dialog Message ที่อาจจะเด้งขึ้นมาในช่วงระหว่างการทดสอบนั่นแหละครับ โดยเฉพาะจำพวก Java Script นี่ยิ่งตัวดีเลยพี่น้อง เพราะยามใดก็ตามที่ Dialog ทั้งหลายโผล่ขึ้นกลางหน้าจอ น้อง Automate ของผมก็จะนิ่ง ค้าง และเกิดอาการงงกับชีวิต ประมาณหนึ่งว่ามันอ้อนให้ผม..." ไปคลิกปุ่มให้หน่อยสิ !! " ซึ่งมันก็คงทำให้พวกเราๆ ทั้งหลายต้องถอดใจและหงุดหงิดใจแน่นอน
ตัวอย่าง Dialog ที่สามารถเกิดขึ้นได้ ระหว่างการ Run Auto Test
ปัญหาเหล่านี้จะหมดไปครับพี่น้อง ถ้าทุกคนเชื่อผม
( ไอหย๊าาาา ) การทดสอบจะเป็นที่ราบรื่น และเป็น Automate อย่างสมบูรณ์ด้วยพระเอกขี่ม้าขาวอย่าง QTP ที่จะบรรดาลดล คลิกปุ่ม Dialog ใดๆ ที่โผล่ขึ้นระหว่างการทดสอบให้โดยอัตโนมัติเลยครับ ไม่ต้องห่วง ไม่ต้องกังวล ไม่ต้องหงุดหงิดใจ สำหรับคำถามที่ว่า เอ๋...แล้วมันจะรู้ได้ไงว่าต้องกดปุ่มไหน เรื่องนี้มันยาวนะครับ เป็นเรื่องที่ว่าด้วย Dialog click ซึ่งจะใช้คุณสมบัติที่เรียกว่า Recovery Scenario โดยคุณสามารถสั่งมันได้ครับ QTP มันเจ๋ง จริงๆ
รูปประกอบ Recovery Scenario ซึ่งเป็นหน้าจอตั้งค่า แต่โดยส่วนตัวแล้ว เขียนโค๊ดสั่งให้กดปุ่มเลยจะมันส์กว่านะครับ ^^' โค๊ดไม่ยากเลยครับ
คราวนี้ หลายคนอาจถามผมว่า แล้วหากมันมีงาน Web Aplication อื่นเข้ามา ผมต้องมานั่งตั้งค่า QTP ใหม่หรือเปล่าหว่าา ? ... คำตอบคือ ไม่ต้องเลยครับ หากทำให้เป็นระบบ (ทำอย่างไรให้เป็นระบบ เรื่องนี้ยาวครับ แต่ไม่ยาก สนใจก็สอบถามมาได้นะครับ) เราสามารถนำมา Reuse หรือเอางานเดิมกลับมาใช้ใหม่ได้โดยทันทีเลยครับ หรือพูดง่ายๆ เหนื่อยแค่ครั้งเดียว แต่สบายทั้งชาติ 555+ แหม...เพราะอะไรหรอครับ ก็เพราะในหน้าเว็บแอพพลิเคชั่นหนึ่งๆ มันก็จะมีฟิวล์จำพวก TextBox, SelectBox, Radio, CheckBox, Button, Link, Image ก็มีประมาณนี้ แค่นั้นเอง ฉะนั้นงานของผมจึงสามารถนำไปปรับใช้กับการทดสอบซอฟต์แวร์อื่นๆ ได้อย่างสบายเลยครับ ^^'
สำหรับคนที่มีความสนใจ แต่เห็นว่า QTP มันเสียเงิน จะมาลองใช้ Tool จำพวก Selenium ก็ได้ครับ พวกนี้ฟรี จุดสำคัญของการทดสอบนอกจาก Tool ที่ใช้แล้ว มันอยู่ที่หลักการครับ ซึ่งหากพวกเราเข้าใจหลักการจำพวก Framework ต่างๆ ได้ เราก็จะสามารถนำไปประยุกต์ในงานทดสอบอื่นๆ ภายใน Tool ที่แตกต่างได้อย่างไม่ยากครับผม
ทีนี้ จากที่ร่ายมาตั้งแต่ต้น ก็จะเริ่มเห็นแล้วใช่ไหมครับ ว่าชีวิตผมดีขึ้น ^^' นั่งรอมันประมวลผลอย่างเดียวเลย สำหรับบุคคลที่เริ่มสนใจในความมหากาพย์และอภินิหารของมัน มีข้อสงสัยหรือคำถามเพิ่มเติม หรือสนใจหนังสือของคนไทยไปอ่าน หรือหากมีสิ่งใดสอบถาม หลังไมค์ หรือขอคำแนะนำสามารถทิ้งเมล์ไว้ได้ทางนี้เลยนะครับผม...
ขอบคุณพี่น้องชาวไทย ที่ติดตามบทความแลกเปลี่ยนความรู้ของผมในวันนี้ อาจมีบ้างที่อาจใช้คำแสลง แต่ก็เพื่อความสนุกสนานในการเขียนบทความนะครับ ไว้ติดตามตอนต่อไปนะครับผม จุดประสงค์ที่ผมเขียนบทความนี้ขึ้นมา ก็เพราะอยากเห็นวงการทดสอบซอฟต์แวร์ของบ้านเราเจริญและเดินไปข้างหน้าครับ มาร่วมด้วยช่วยกันนะครับ แลกเปลี่ยนความคิดเห็นกันนะครับผม
เปลี่ยนชีวิตนักทดสอบซอฟต์แวร์ให้สบายและมีเวลามากขึ้น ด้วย Tool ดีๆ อย่าง QTP
สวัสดีครับพี่น้องชาว Pantip ทุกท่าน
วันนี้ผมมีเรื่องราวมาแลกเปลี่ยนแก่ทุกท่านในวงการทดสอบซอฟต์แวร์ครับผม
ผมเองก็เป็นโปรแกรมเมอร์บ้านๆ มาตั้งแต่ต้นนะครับ แต่หลังๆ มาก็เริ่มหลงรักการจับผิดซอฟต์แวร์ เอ๊ะ! จะว่าเป็น นักทดสอบซอฟต์แวร์มือสมัครเล่นก็ได้นะครับ ในเวลาว่างก็มักจะได้รับเชิญจากเพื่อนๆ อยู่บ่อยๆ ให้มาช่วย Test ระบบ ส่วนใหญ่ก็จะเป็นจำพวก Web Application ต่างๆ ที่ถูกพัฒนาขึ้นโดยเทคโนโลยีที่แตกต่างกัน
เอาล่ะสิ เริ่มต้นตอนแรกๆ แบบบ้านๆ ก็ไม่มีความรู้นะครับ ว่าจะใช้ Tool อะไรดี ก็เริ่มจากการลองใส่ข้อมูลไป ทีละช่องๆ แล้วก็กดปุ่มนั่นนี่ แล้วดูสิว่าผลลัพธ์มันเป็นไปตามที่ต้องการหรือเปล่า มันถูกต้องหรือเปล่า โอ้โห...ผมอยากบอกว่า วิธีนี้ทำเอาผมแทบอ๊วกเลยนะครับ เพราะอะไรหรอครับ ? เอาแค่ให้ทุกท่านลองจินตนาการไปถึงหน้า Register นะครับ ที่มีช่องต่างๆ ให้กรอกเยอะแยะมากมาย ทั้งชื่อ นามสกุล ที่อยู่ และก็ตามมาด้วยช่องอื่นๆ อีกเพียบอย่างอลังการเลยทีเดียว ลำพังผมจะมา Test ด้วยการกรอกข้อมูลลงไปด้วยมือแล้วกดปุ่ม "ลงทะเบียน" หากเป็นรอบเดียวก็ยัง "สู้โว๊ย !!" นะครับ ปัญหาคือหากผมมีข้อมูลที่ต้องทดสอบเป็นร้อยๆ พันๆ ชุดล่ะ ผมจะไม่ต้องกรอกจนมือเดี้ยงเลยหรอครับพี่น้อง T_T
จากนั้นด้วยความขี้เกียจ ผมก็เริ่มหา Tool ดีๆ สักตัวมาใช้ครับเผื่อจะผ่อนแรงไปบ้าง ก็มาเจอหนังสือของอาจารย์ไทยเราท่านหนึ่งล่ะครับ เขียนไว้ชัดเจนและดีมากๆ (หากสนใจก็หลังไมค์ล่ะกันนะครับ) เขียนไว้ด้วยเรื่อง Automate Test ก็ดูๆ อ่านๆ ตีลังกาอ่านแล้ว อ่านอีก ก็ Get Idea เลยล่ะครับงานนี้ ก็เริ่มมารู้จักไอ Tool เสียเงินที่ชื่อว่า QTP หรือหากเรียกเต็มๆ ก็คือ QuickTest Professional (สามารถ Test Mobile App ได้ด้วยนะครับ)
โห...แม่เจ้า มันทำให้ชีวิตผมดีขึ้นอย่างกับได้เกิดใหม่อีกครั้ง มันสุดยอดก็ไอ้ตรงที่ ผมเพียงแค่ทิ้งข้อมูลที่จะใช้กรอกหรือทดสอบลงในไฟล์ Excel จะเป็นร้อย เป็นพัน เป็นหมื่น แสน ล้าน ผมไม่กลัวแล้วครับ เพราะ คุณ QTP จะคอยไปเรียกข้อมูลจาก Excel ขึ้นมาพิมพ์ลงในหน้าเว็บคุณให้โดยอัตโนมัติ หลักการนี้ทาง Test เขาเรียกว่า “Key Driven Framework” พร้อมทั้งบันทึกผลลัพธ์จากการทดสอบออกมาใส่ในไว้ไฟล์ Excel ให้ด้วยว่า "ทดสอบผ่าน" หรือ "ทดสอบไม่ผ่าน" แล้วกรณีที่มัน "ทดสอบไม่ผ่าน" มันก็จะบอกด้วยนะครับ ว่า "เฮ้ย...มี Error ตรงนี้ ๆ นะ กลับไปดูใหม่ไป๊ !!" 5555+ ยังไม่พอนะครับ แหม่... เจ้า QTP ยังเจ๋งถึงขนาดเลือกได้ว่า ต้องการบันทึกหน้าตาของโปรแกรมระหว่างการบันทึกเป็นรูปภาพหรือวิดีโอไว้ด้วยหรือเปล่า หรือที่เรียกว่า Screen Recorder ได้ด้วย โดยไม่ต้องไปพึ่งหมอไสย หรือ Plugin ในบราวเซอร์มาติดตั้งเพิ่มเติมเลยนะครับพี่น้อง
(เห็นรูปแล้ว บางท่านอาจอยู่ในภาวะ งงๆ นะครับ ไม่เป็นไรครับ เรื่องพวกนี้มีอยู่ใน Google ทั่วไปครับ)
รูปตัวอย่างของ Screen Recorder ของ QTP ครับ
งานนี้ก็หมูๆ เลยล่ะครับที่นี้ หากมี Error ขึ้นมาปั๊บ ผมก็แค่จัดส่งไฟล์ Excel ไปหาเพื่อนเลย พร้อมทั้งรูปหลักฐานยืนยันตรงที่มัน Error ให้ด้วย หรือหากต้องการความสะดวกสบายมากยิ่งขึ้น ก็สามารถสั่งให้มันจัดส่งไฟล์ผล Test ต่างๆ ไปทาง E-mail ได้โดยอัตโนมัติเลยครับ ซึ่งทั้งหมดนี้ เราไม่ต้องเสียเวลาไปทำเอกสารเลย คุณ QTP เขาจัดการทำเอกสาร ทำรูปประกอบ Error ให้เราหมดเลยครับ หน้าที่ของผมก็เพียงแค่ปล่อยมัน Run Auto ไปแบบนั้นแหละ แล้วก็มานั่งกิน นม ชา กาแฟ (แอบดูหนังบ้างในบางครั้ง) เพื่อรอแล้วมาดูผลลัพธ์แค่นั้น
ผมเชื่อว่า ปัญหาที่สำคัญอีกอย่างหนึ่งที่อาจทำให้พี่น้องนักทดสอบซอฟต์แวร์ทั้งหลายต้องปวดหัวและถอดใจ เมื่อต้องการจะนำ Automate Test มาใช้ (เคยทำให้ผมปวดกระหม่อมอย่างมาก) ก็คงจะเป็นพวก Dialog Message ที่อาจจะเด้งขึ้นมาในช่วงระหว่างการทดสอบนั่นแหละครับ โดยเฉพาะจำพวก Java Script นี่ยิ่งตัวดีเลยพี่น้อง เพราะยามใดก็ตามที่ Dialog ทั้งหลายโผล่ขึ้นกลางหน้าจอ น้อง Automate ของผมก็จะนิ่ง ค้าง และเกิดอาการงงกับชีวิต ประมาณหนึ่งว่ามันอ้อนให้ผม..." ไปคลิกปุ่มให้หน่อยสิ !! " ซึ่งมันก็คงทำให้พวกเราๆ ทั้งหลายต้องถอดใจและหงุดหงิดใจแน่นอน
ตัวอย่าง Dialog ที่สามารถเกิดขึ้นได้ ระหว่างการ Run Auto Test
ปัญหาเหล่านี้จะหมดไปครับพี่น้อง ถ้าทุกคนเชื่อผม ( ไอหย๊าาาา ) การทดสอบจะเป็นที่ราบรื่น และเป็น Automate อย่างสมบูรณ์ด้วยพระเอกขี่ม้าขาวอย่าง QTP ที่จะบรรดาลดล คลิกปุ่ม Dialog ใดๆ ที่โผล่ขึ้นระหว่างการทดสอบให้โดยอัตโนมัติเลยครับ ไม่ต้องห่วง ไม่ต้องกังวล ไม่ต้องหงุดหงิดใจ สำหรับคำถามที่ว่า เอ๋...แล้วมันจะรู้ได้ไงว่าต้องกดปุ่มไหน เรื่องนี้มันยาวนะครับ เป็นเรื่องที่ว่าด้วย Dialog click ซึ่งจะใช้คุณสมบัติที่เรียกว่า Recovery Scenario โดยคุณสามารถสั่งมันได้ครับ QTP มันเจ๋ง จริงๆ
รูปประกอบ Recovery Scenario ซึ่งเป็นหน้าจอตั้งค่า แต่โดยส่วนตัวแล้ว เขียนโค๊ดสั่งให้กดปุ่มเลยจะมันส์กว่านะครับ ^^' โค๊ดไม่ยากเลยครับ
คราวนี้ หลายคนอาจถามผมว่า แล้วหากมันมีงาน Web Aplication อื่นเข้ามา ผมต้องมานั่งตั้งค่า QTP ใหม่หรือเปล่าหว่าา ? ... คำตอบคือ ไม่ต้องเลยครับ หากทำให้เป็นระบบ (ทำอย่างไรให้เป็นระบบ เรื่องนี้ยาวครับ แต่ไม่ยาก สนใจก็สอบถามมาได้นะครับ) เราสามารถนำมา Reuse หรือเอางานเดิมกลับมาใช้ใหม่ได้โดยทันทีเลยครับ หรือพูดง่ายๆ เหนื่อยแค่ครั้งเดียว แต่สบายทั้งชาติ 555+ แหม...เพราะอะไรหรอครับ ก็เพราะในหน้าเว็บแอพพลิเคชั่นหนึ่งๆ มันก็จะมีฟิวล์จำพวก TextBox, SelectBox, Radio, CheckBox, Button, Link, Image ก็มีประมาณนี้ แค่นั้นเอง ฉะนั้นงานของผมจึงสามารถนำไปปรับใช้กับการทดสอบซอฟต์แวร์อื่นๆ ได้อย่างสบายเลยครับ ^^'
สำหรับคนที่มีความสนใจ แต่เห็นว่า QTP มันเสียเงิน จะมาลองใช้ Tool จำพวก Selenium ก็ได้ครับ พวกนี้ฟรี จุดสำคัญของการทดสอบนอกจาก Tool ที่ใช้แล้ว มันอยู่ที่หลักการครับ ซึ่งหากพวกเราเข้าใจหลักการจำพวก Framework ต่างๆ ได้ เราก็จะสามารถนำไปประยุกต์ในงานทดสอบอื่นๆ ภายใน Tool ที่แตกต่างได้อย่างไม่ยากครับผม
ทีนี้ จากที่ร่ายมาตั้งแต่ต้น ก็จะเริ่มเห็นแล้วใช่ไหมครับ ว่าชีวิตผมดีขึ้น ^^' นั่งรอมันประมวลผลอย่างเดียวเลย สำหรับบุคคลที่เริ่มสนใจในความมหากาพย์และอภินิหารของมัน มีข้อสงสัยหรือคำถามเพิ่มเติม หรือสนใจหนังสือของคนไทยไปอ่าน หรือหากมีสิ่งใดสอบถาม หลังไมค์ หรือขอคำแนะนำสามารถทิ้งเมล์ไว้ได้ทางนี้เลยนะครับผม...
ขอบคุณพี่น้องชาวไทย ที่ติดตามบทความแลกเปลี่ยนความรู้ของผมในวันนี้ อาจมีบ้างที่อาจใช้คำแสลง แต่ก็เพื่อความสนุกสนานในการเขียนบทความนะครับ ไว้ติดตามตอนต่อไปนะครับผม จุดประสงค์ที่ผมเขียนบทความนี้ขึ้นมา ก็เพราะอยากเห็นวงการทดสอบซอฟต์แวร์ของบ้านเราเจริญและเดินไปข้างหน้าครับ มาร่วมด้วยช่วยกันนะครับ แลกเปลี่ยนความคิดเห็นกันนะครับผม