Category Archives: Software Testing

เปลี่ยน Test Report จาก “กระดาษ” มาเป็น “กระดาน”

Ci-Jenkins

สวัสดีเพื่อนพ้องน้องพี่เช้าวันศุกร์ที่ 26 กุมภาพันธ์ พ.ศ.2559 เช้าวันนี้มานำส่งสิ่งที่ได้ไปร่ำเรียนมาจากชั้นเรียน The Whole Team Approach to Agile Testing ของป้า Janet Gregory ณ ประเทศสิงคโปร์ ในเรื่องของ Make Test Report Visible

รายงานผลการทดสอบ (Test Report) เป็นสิ่งที่จะต้องถูกนำส่งออกมาหลังจบกระบวนการทดสอบไม่ว่าจะการทดสอบในระดับใด (Test Level) เช่น Unit Testing เอย Integration Testing เอย System Testing เอย Performance Testing เอย เป็นต้น ซึ่งเอาเข้าจริงๆ มีคนอ่านมันอยู่ไม่กี่คนหรอกรายงานฉบับนี้  ดังนั้นถ้าจะยังต้องคงมีอยู่ มาเปลี่ยนรายการการทดสอบจาก กระดาษ มาเป็น กระดาน กันดีกว่า

Continue reading เปลี่ยน Test Report จาก “กระดาษ” มาเป็น “กระดาน”

จะทดสอบอย่างไรให้รู้ผลได้ภายใน 10 นาที ก่อนไปมองหา Automate Testing Tools

V-and-V

 

สวัสดีเช้าวันอังคารที่ 8 กันยายน พ.ศ. 2558 วนเวียนกลับมานั่งเขียน Blog ลงใน WeLoveBug อีกครั้งซึ่งสัญญาต่อหน้าฟ้าดินว่าจะมาเขียนให้บ่อยและสม่ำเสมอขึ้นเรื่อยๆ อีกครั้งเหมือนครั้ง WeLoveBug สมัยเยาว์วัยและเช้าวันนี้ขอหยิบยกสิ่งที่เพื่อนและหนึ่งในผู้เขียนของ WeLoveBug ได้แบ่งปันออกมาผ่านโลกของ Social และผมชอบนะกับคำพูดนี้

เราจะทดสอบทั้งหมดให้เสร็จภยาใน 10 นาทีได้อย่างไร?

ที่หยิบเรื่องนี้มาเขียนเพราะว่าสองปีที่ผ่านมาผมจะเจอคำถามเรื่องของ Automate Testing ว่าใช้ Tool อะไร? และพอมาเจอคำพูดของนัทที่แบ่งปันมาก็เลยเอามารวบรวมแล้วเขียนออกมาเป็น Blog นี้เพื่อแบ่งปันมุมมองจากประสบการณ์ของตัวผมเอง

Continue reading จะทดสอบอย่างไรให้รู้ผลได้ภายใน 10 นาที ก่อนไปมองหา Automate Testing Tools

ฝึกสอน สิ่งที่ Software Tester จะต้องทำทั้งใน Traditional และ Agile

what-tester-must-do-in-traditional-and-agile

สวัสดีบ่ายวันพฤหัสบดีที่ 19 มีนาคม พ.ศ. 2558 วันนี้มาสอนเรื่อง Agile Testing in Practice ที่โรงแรมจัสมิน จัดโดย สถาบันไอเอ็มซี ตอนนี้กำลังสนุกสนานกับเรื่องของ Unit Testing ของการสอนด้วยพี่ปุ๋ยแห่ง www.somkiat.cc ก็เลยแวบมานั่งเขียน Blog เรื่องที่พูดในการสอนครั้งนี้ไปคือ สิ่งที่ Software Tester จะต้องทำทั้งในการพัฒนาซอฟต์แวร์ทั้งแบบ Traditional และ Agile

สิ่งที่เกิดขึ้น ณ ตอนนี้หลายๆ บริษัทเริ่มขยับตัวที่จะปรับเปลี่ยนกระบวนการในการพัฒนาซอฟต์แวร์จาก Traditional มาเป็น Agile แต่ปัญหาที่เกิดขึ้น ณ ตอนนี้น้อยที่นักที่จะให้ความสำคัญกับการมองกลับไปดูที่กระบวนการของการควบคุมดูแลและทดสอบคุณภาพของซอฟต์แวร์เลย

หยุดแป๊ปและกลับมาคิดนิดนึงหน่อยว่า จริงๆ แล้ว Software Tester นั้นทำอะไรบ้างทั้งใน Traditional และ Agile?

Continue reading ฝึกสอน สิ่งที่ Software Tester จะต้องทำทั้งใน Traditional และ Agile

สอนนักศึกษาให้เป็น Tester แต่พอเรียนเท่านั้นแหละ…เหอะๆ

สอนนักศึกษาให้เป็น Tester แต่พอเรียนเท่านั้นแหละ…เหอะๆ
Untitled

เขาบอกให้มาแชร์ประสบการณ์ด้าน Testing ไม่รู้จะพูดดีไหมอาจจะสั่นสะเทือนวงการ (โม้ไปค่ะ) เริ่มต้นมาจากไปเรียนวิชา Quality Assurance ในมหาวิทยาลัยแห่งหนึ่งตอนนั้นก็ไม่รู้ว่าเอามาทำเป็นอาชีพได้จนกระทั่งเรียนจบได้มาสอน ตอนนั้นก็เอ๊ะจะสอนวิชาไหนดีใครๆ ก็สอนเขียนโปรแกรม ก็เลยอยู่ดีไปค้นในเว็บสมัครงาน เข้าไปศึกษาเรื่อยๆ จนกระทั่งไปเจอ Keyword คำว่า “Tester” และก็เลยอ่าน Qualification ของงาน เอ๊ะ มันเหมือนที่เราเรียนมาบางส่วน แต่สิ่งที่ท้าทายคือตอนเราเรียนเป็นระดับปริญญาโท แต่ตอนมาสอนต้องสอนปริญญาตรี จนกระทั่งก่อนมาสอนประมาณ 3 เดือนบริษัทต่างๆ มีการสมัครงานด้านนี้จำนวนมาก เอาหล่ะวะ ลองดูซักตั้งเผื่อจะมีหนทางสว่างให้กับ นศ ซึ่งตอนนี้อาจจะริบหรี่ ฮ่าฮ่า เนื่องจากว่า นศ ส่วนใหญ่เข้าใจว่าแค่ทดสอบโปรแกรม ฉันไม่ต้องเขียนโปรแกรมเองซะหน่อยสบายแล้วเรา นศ ก็แห่กันมาลงวิชาของอิฉัน แต่พอมาเรียนเท่านั้นแหละ นศ ถึงกับปวดหัว เนื่องจากว่า Tester เป็นคนทดสอบโปรแกรม ก็ต้องมีความรู้หลายๆอย่างรอบด้าน เริ่มตั้งแต่….

  1. ติดตั้งระบบ Test Environment ในส่วนนี้ทุกครั้งที่ทดสอบระบบ อิฉันจะต้องติดตั้งระบบเอง (แบบว่าเป็นอาจารย์ที่โรคจิต) ขอแบ่งออกเป็น 4 โปรแกรมประเภทใหญ่ตามตลาด คือ
  • Desktop Application ก็ง่ายเหลือเกินแค่สัมผัสเม้าส์ลงไป .exe ก็สามารถทดสอบระบบได้
  • Web Application ก็ยากขึ้นมาหน่อยเพราะต้องไปติดตั้ง localhost server และ dump database เข้ามาจึงทดสอบระบบได้ ก็ต้องมีความรู้พื้นฐานเกี่ยวกับ database และภาษาที่เกี่ยวข้อกับเว็บพอสมควร asp, php, .net เป็นต้น
  • Mobile Application อันนี้ยากสุดเพราะ นศ จะต้องใช้เครื่องอันทรงพลังในการทดสอบ emulator ที่กินเนื้อที่ค่อนข้างมาก รอจนสลบไปเลย
  • Web service API ตัวนี้ก็ยากที่สุดสำหรับอิฉันในการออกแบบการทดสอบมา ซึ่ง Web Service ที่ข้าพเจ้าทดสอบเป็น Web Service ของตัวบริษัทเขียนขึ้นมา ต้องมีความรู้เกี่ยวกับการรับส่งข้อมูลพอสมควร
  1. ทำการมโนตัวอย่างกรณีทดสอบใส่ในเอกสาร Test case & Test scenario ต่างกันคือ Test scenario คือการตรวจสอบ step การทำงาน หากไม่ทดสอบพวก text box หรือ ปุ่มต่างๆ จะเห็นได้ว่า ยูสเซอร์คือคนที่เซ่อที่สุดในโลกก็จะกดโน้นนี่ทำให้เจอ Bug ตล๊อดตลอด ส่วน Test case คือการออกแบบตัวอย่างของข้อมูลจริง เน้นว่าสมมติสถานการณ์จริง เคยให้ นศ ทดสอบระบบลาที่ forward อีเมล์ทั่วคณะ นศ ก็ทำตามอาจารย์สอน ออกแบบกรณีทดสอบจริง คือ ชื่ออาจารย์ และประเภทลาต่างๆ เช่น ลาคลอด ลาป่วย ลากิจ ทายซิว่าเกิดอะไรขึ้นค่ะ แค่คิดก็มันส์แล้ว คนทักทั้งสาขาเลยเจ้าค่ะ ว่าไปทำอะไรขาหัก แขนหัก ไปคลอด(ทั้งๆที่ตอนนั้นโสดอยู่นะคะ 555)
  2. ต่อมาส่วนสุดท้ายยิ่งมโนนักไปใหญ่ คือ expected results ที่ความคาดหวังอันนี้เป็น Highlight ของการทำ testing เลยถ้ามโนไม่เก่ง ไม่มีพื้นเขียนโค้ดมาก่อนนี่จะยากมากสำหรับการทำ Testing เช่น ง่ายๆ แค่ทดสอบให้แสดงข้อความยินดีต้อนรับหรือไม่ นศ ยังคิดไม่ได้เลยบางคน แถมตอบว่า อาจารย์จะรู้ได้ไงจะให้มันแสดงความยินดีแบบนี้ ก็เลยต้องจำลองสถานการณ์ให้ไปคุยกับ User และ Developer ซิตกลงจะเอาไง สนุกไปอีกแบบค่ะ

มาถึงตรงนี้ นศ ก็พงะแล้ว กับการทดสอบซอฟต์แวร์ ที่ นศ expected results ตัวเองผิด  ว่าควรจะมี step การเรียนรู้อะไรบ้างในการทดสอบซอฟต์แวร์  ตอนหน้าว่าจะโม้ต่อเรื่อง Code coverage แบบมีสาระๆ บ้างค่ะ ตอนนี้ขอบ่นเพียงเท่านี้ก่อนค่ะ ขอบคุณที่อ่านจนจบตอนนะคะ

มารู้จักกับ Cucumber เจ้าแตงกวากันเถอะ !!!

 2014-11-13-01

สวัสดีค่า ชาวเทสเตอร์ และ ผู้อ่าน ใน welovebug.com วันนี้ มา เล่า เรื่อง ของ Software Test Tool ตัวหนึ่ง ซึ่ง ถ้าเอ่ยชื่อไป ชาวเทสเตอร์ หรือ โปรแกรมเมอร์ อาจจะได้ยินกันมาบ้าง เจ้า Software Test Tool ตัวนี้ จะชื่ออะไรนั้น แอบใบ้ว่า ชื่อ ออกแนว พืชผัก vegetable ค่ะ

แนะนำกันเลยว่า Software Test Tool ตัวนี้ ก็ คือ Cucumber ( ขอเรียกว่า แตงกวา ละกันค่ะ ในบทความนี้ )

พอบอกชื่อแล้ว ชาวเทสเตอร์ เริ่ม ถึงบางอ้อ นึก ออกกันบางหรือยังคะ ว่า Cucumber เจ้าแตงกวา เป็น Software Test Tool แบบไหน ใช้ทำ อะไรกัน เกี่ยวข้องกับ ชีวิต เทสเตอร์หรือเปล่า ถ้ายังนึกไม่ออก หรือ อยากรู้จักกับ Cucumber เจ้าแตงกวาน้อยมากกว่านี้ล่ะก้อ ตามมาอ่านกันต่อเลยค่ะ
Continue reading มารู้จักกับ Cucumber เจ้าแตงกวากันเถอะ !!!

หยิบมาเล่า ว่าด้วย Mobile Testing ที่ฉันรู้จัก ตอน จบ

2014-10-27-mobile-app-testing

สวัสดีค่าา (=^・ェ・^=)  ….. วันนี้กลับมาเล่าเรื่อง Mobile Testing ที่ฉันรู้จัก ต่อ จากตอนที่แล้ว ให้จบดีกว่า

หลังจาก ทิ้งท้ายไว้ว่า จะมาเล่าในเรื่องของ Challenging of Mobile Application Testing และ  Type of Mobile Application Testing

ส่วนเนื้อหาจะเป็นยังไงนั้น ตามมาอ่าน ข้างล่างได้เลยค่าา

Continue reading หยิบมาเล่า ว่าด้วย Mobile Testing ที่ฉันรู้จัก ตอน จบ

หยิบมาเล่า ว่าด้วย Mobile Testing ที่ฉันรู้จัก ตอนที่ 1

2014-10-27-mobile-app-testing

สวัสดีค่าา (=^・ェ・^=)  ….. วันนี้ มา แบ่งปัน เล่า ให้ เพื่อน พี่ น้อง ชาวเทสเตอร์ ฟัง ในเรื่องของ Mobile Testing   ที่ฉันรู้จัก ตอนที่ 1  ซึ่งมีด้วยกัน 2 หัวข้อที่เกี่ยวข้องกับ Mobile Testing  นั่นก็ คือ ….

~(=^‥^)_旦~

  • What is Mobile testing ?
  • Type of Mobile testing

Continue reading หยิบมาเล่า ว่าด้วย Mobile Testing ที่ฉันรู้จัก ตอนที่ 1

Modern Tester ตอนที่ จบ

Traditional-and-Modern-Way-of-Software-Testing

สวัสดีเช้าวันจันทร์ เริ่มต้นสัปดาห์การทำงานใหม่อีกหนึ่งสัปดาห์ ก็ขอเริ่มวันด้วนยตอนจบของ Modern Tester

Automate Testing

Modern tester เริ่มประยุกต์ใช้ ATDD (Acceptant Test Driven Development) อันนี้ไม่ลง detail เยอะแล้วกันครับ น่าจะมีคนเขียนเรื่องนี้เยอะแล้ว เอาแค่คร่าวๆว่า flow มันก็จะเป็นประมาณว่า เริ่มจากการมี User story หรือ requirement หลังจากนั้น tester เขียน high level acceptant test โดยเน้นพวก happy path หรือ เน้นเฉพาะ test ที่ cover scenario หลักๆแบบปกติ user ส่วนใหญ่จะใช้กัน หลังจากนั้นค่อยเริ่มคิด expanded test อย่างเช่น unhappy path (negative test) โดยอย่างน้อย พวก end-to-end flow หรือ high level acceptant ควรจะมี UI หรือ end-to-end automation test ส่วนพวก expanded test ถ้าสามารถ cover ได้โดย unit test ก็จะดี (เหตุผลว่าทำไมไม่ขออธิบายในนี้นะครับ ไม่งั้นเดี๋ยวสิบหน้าจะไม่จบ) หลังจากนั้น developer ก็ทำ coding และเขียน unit test ไปพร้อมกัน และ เมื่อ code เสร็จแปลว่ามีทั้ง code และ automate test พร้อมให้ build และ test execute ไปพร้อมๆกัน ถ้าผ่าน step นี้ไป ก็ถึงเวลา tester ทำ exploratory test (เดี๋ยวมีอธิบายเพิ่มด้านหลัง) และ release product ถ้าทุกอย่างผ่านหมด

Continue reading Modern Tester ตอนที่ จบ

Modern Tester ตอนที่ 2

สวัสดีเช้าวันอังคารกลางเดือนตุลาคมครับ อากาศเย็นๆ เริ่มเข้ามาเยี่ยมเยือนเราแล้ว เช้านี้เลยมาแบ่งปันต่อเรื่องของ Modern Tester ตอนที่ 2
Traditional-and-Modern-Way-of-Software-Testing

ไม่ทำลายล้าง

Modern tester ไม่ได้คิดว่า เป้าหมายของการทำงานคือการ Break Software และชั้นต้องหา bug ให้ได้เยอะๆ ถึงจะ meet KPI แต่ modern tester จะคิดว่า ชั้นต้องทำยังไง ต้องทำอะไร ถึงจะช่วย deliver product ได้อย่างรวดเร็วและมี quality ได้ แน่นอนว่าบางส่วนของการทำงานของ modern tester ก็ยังต้องมีการพยายามม break software อยู่ อย่างเช่นเวลาทำ exploratory test แต่นั่นคือแค่ส่วนเล็กๆ ไม่ใช่ว่าทั้งหมดของชีวิตชั้นคือการพยายามทำลายและหาบั๊กให้เจอเยอะๆแล้วส่งให้ developer

เครื่องไม้เครื่องมือ

Modern tester ใช้ tool และ techniques ต่างๆในการคิดว่าจะเทสโปรดัคยังไงมากกว่าการเทสตามที่ requirement บอกไว้แค่นั้น
ตัวอย่าง tools/techniques

Continue reading Modern Tester ตอนที่ 2

Modern Tester ตอนที่ 1

Traditional-and-Modern-Way-of-Software-Testing

บทความนี้ได้รับแรงบันดาลใจจากการไปร่วมงาน BugDay Bangkok 2014 เนื่องจากมีหลายๆครั้งที่พูดกันเรื่อง Traditional tester กับ Modern tester เนื่องจากเป็นผู้ที่เคยผ่านการเป็น Traditional tester และได้เรียนรู้วิธีการเปลี่ยนตัวเองและทีมให้เป็น Modern tester (เลี่ยงใช้คำว่า Agile tester เพราะตัว concept สามารถนำไปประยุกต์ใช้ได้ในทั้งโลกของ waterfall และ agile) จึงขอนำเสนอบอกเล่าสิ่งที่คิดว่า modern tester ควรมี โดยอ้างอิงเนื้อหาส่วนใหญ่จาก session นึงจาก EuroSTAR conference ปี 2012 จากคุณ Janet Gregory ผมได้ดู session นี้มาซักพักใหญ่ๆ แล้วชอบเลยนำมาลองใช้ ลองคิดตามแล้วปรากฎว่าเวิร์คเลยนำมาบอกเล่าสู่กันฟังครับ

Continue reading Modern Tester ตอนที่ 1

ทำ Unit Testing แล้วมันใช้เวลา พลัง และเงิน มากขึ้น จริงหรือ? (ตอนที่ 2)

unit-testing-welovebug

สวัสดีเช้าวันพุธที่ 13 สิงหาคม พ.ศ. 2557 ตอนนี้ก็เวลาประมาณ 05:32น. เป็นวัยรุ่นเลยต้อง นอนดึก ตื่นเช้า เลยมาจรดปลายนิ้ว บ่นเรื่อง Unit Testing ทำแล้วมันใช้เวลา พลัง และเงิน มากขึ้น จรงิหรือ? ตอนที่ 2 ต่อ กับ 2 คำถาม

เราไม่ได้คิดค่าทำ Unit Testing ไปตอนประเมินราคาให้ลูกค้า
ลูกค้าไม่ได้จ่ายเงินมาเพื่อให้เรามานั่งเขียน Unit Testing นะ

Continue reading ทำ Unit Testing แล้วมันใช้เวลา พลัง และเงิน มากขึ้น จริงหรือ? (ตอนที่ 2)

ทำ Unit Testing แล้วมันใช้เวลา พลัง และเงิน มากขึ้น จริงหรือ? (ตอนที่ 1)

unit-testing-welovebug

เมื่อได้ก้าวเดินมาในเส้นทางของการเป็น Agile Coach และ ScrumMaster เรื่องหนึ่งที่ผมยังให้ความสำคัญอยู่เสมอคือ คุณภาพ (Quality) ซึ่งการทดสอบยังคงเป็นเรื่องสำคัญมากๆๆๆ ดังนั้นเมื่อใช้ และประยุกต์ใช้ Agile เข้าช่วย หรือใช้เป็นหลักในการพัฒนา Software แล้วนั้น ผมก็จะขายแนวคิดเรื่องของการทำ Unit Testing โดยใช้ Test-Driven Development (TDD) เข้ามาช่วยทีมพัฒนา แต่ก็มักจะเจอคำถามจากผู้คนในระดับหัวหน้าทีม และระดับฝ่ายบริหารเสมอๆ ว่า

ทำ Unit Testing แบบนี้ มันก็ต้อง

ใช้เวลามากขึ้นสิ ใช้ Effort มากขึ้นสิ
ใช้เงินเพิ่มขึ้นสิ
เราไม่ได้คิดค่าทำ Unit Testing ไปตอนประเมินราคาให้ลูกค้า
ลูกค้าไม่ได้จ่ายเงินมาเพื่อให้เรามานั่งเขียน Unit Testing นะ

ผมก็อดยิ้มไม่ได้ 🙂

Continue reading ทำ Unit Testing แล้วมันใช้เวลา พลัง และเงิน มากขึ้น จริงหรือ? (ตอนที่ 1)