Category: Software Testing

การเปลี่ยนแปลง Coded UI Test ใน Visual Studio 2019

Microsoft ได้ประกาศว่า Visual Studio 2019 จะเป็น Visual Studio รุ่นสุดท้ายที่มีฟังก์ชัน Coded UI test ทำไมถึงเลิกใช้ Coded UI Test Coded UI tests ถูกใช้งานสำหรับการทดสอบการทำงานแบบอัตโนมัติของ web apps และ desktop apps โดยที่ในช่วงหลายปีหลังมานี้ Open source UI testing tools เช่น Selenium และ Appium ที่มีแรงสนับสนุนจาก community ที่เข้มแข็งและกลายเป็นมาตราฐานกลาง ซึ่ง Coded UI…

แนวทางการเขียน Unit Tests ที่ดีสำหรับ C # (2)

ในบทความก่อนหน้า ได้พูดถึงการเลือก Testing framework ที่เหมาะสม การเขียน unit test โดยใช้แนวคิดแบบ “AAA” (Arrange, Acr, Assert) และการกำหนดชื่อ method ที่สื่อความหมายเข้าใจได้ง่าย Test Initialize & Cleanup เมื่อ unit tests ทำการทดสอบ methods ภายใน class ก็จำเป็นต้องสร้าง instance ของ class นั้นๆขึ้นมาก่อน ซึ่งจะเกิดขึ้นหลายๆครั้งใน unit test เพื่อประหยัดเวลาและทรัพยากรของระบบ เราสามารถใช้ [TestInitialize] attribute ของ…

แนวทางการเขียน Unit Tests ที่ดีสำหรับ C #

ในความคิดของผู้เขียน ผู้พัฒนาส่วนใหญ่มักไม่ชอบที่จะเขียน Unit testing บางคนอาจจะคิดว่ามันน่าเบื่อ หรือบางคนก็ไม่เห็นคุณค่าในการเขียน code เพื่อตรวจสอบการทำงานของ code อื่นๆ Unit testing คือแนวทางในการเขียน code เพื่อตรวจสอบว่าหน่วยการทำงานใน แอปพลิเคชันซอฟต์แวร์ ว่าทำงานตามที่ตั้งใจไว้หรือไม่ เช่น หากตั้งใจที่จะให้ตัวอักษรตัวแรกของคำเป็น พิมพ์ใหญ่ unit test จะต้องสามารถตรวจสอบว่าตัวอักษรตัวแรกเป็นตัวพิมพ์ใหญ่โดยไม่สนใจอักษรตัวอื่นๆ ข้อดีอย่างหนึ่งของการเขียน unit tests ใน C # คือ เราสามารถใช้ Test Explorer ใน Visual Studio เพื่อตรวจสอบว่าการทดสอบทั้งหมดผ่านหรือไม่ โดยที่ไม่ต้องกังวลว่าการเปลี่ยนแปลงล่าสุดที่เขียน จะทำให้ระบบทำงานไม่ได้หรือไม่ การเลือก Testing…

เขียน Unit test ทดสอบการทำงานกับฐานข้อมูลที่ใช้ Entity Framework Core

ในบทความนี้ จะนำเสนอการเขียน unit test เพื่อทดสอบการทำงานของ method ที่ใช้งาน Entity Framework Core ซึ่งตัว Entity Framework Core มาพร้อมความสามารถที่สามารถใช้งาน in-memory store ซึ่งสามารถใช้ในการทดสอบได้ หรือจะใช้ mock framework ในการทดสอบก็ได้ โดยในบทความนี้จะแสดงให้เห็นทั้งสองแนวทาง In Memory Database In Memory Database เป็นการสร้าง database จำลองขึ้นมาใช้บน memory แทนที่การใช้ database ตัวจริง ทำให้เราสามาถเขียน unit test โดยที่ไม่ไปกระทบกับ…

Variables ใน Robot Framework

วันนี้เรามาดูตัวแปร ใน Robot Framework กันดีกว่า ดู ๆ ไปตัวแปรมันก็แปลกดีนะ มาดูกันว่าเป็นไงบ้าง Case Insensitive –> ตัวพิมพ์เล็ก – พิมพ์ใหญ่เป็นตัวเดียวกัน Ignore space –> ไม่สนใจช่องว่าง Ignore underscore –> ไม่แคร์ Underscore 555 มาดูประเภทของตัวแปรกัน ดังรูปจ้า ค่าคงที่ List Dictionary หรือ Json ตามตัวอย่าง มารันดูข้อมูลกันจะเห็นได้ว่ามันจะรันตามลำดับ ที่เราแสดง Log to console ลองดูว่าถ้าเราจะให้แสดง List…

Should Be Equal ใน Robot Framework

วันนี้จะมาทดลองใช้ Should Be Equal (การเปรียบเทียบ) ใน Robot framework กันค่ะ ก่อนจะถึงคำสั่งเปรียบเทียบ เราก็ต้องเขียน Test Case อื่น ๆ กันก่อน งั้นวันนี้จะเขียนแบ่ง Test Case ให้อ่านง่าย ๆ กันไปเลย เพื่อเพื่อน ๆ จะได้นำไปประยุกต์ใช้งานกันได้ค่ะ สิ่งที่ต้องใช้ในวันนี้ คือ Notpad++ หรือ Tool อื่น ๆ ที่เพื่อน ๆ ถนัด วันนี้เราจะใช้ Visual Studio Code กันค่ะ…

ทดสอบ API ด้วย Robot Framework (Get Request)

ก็ยังคงเขียนเกี่ยวกับ robot framework อีกนั่นแหละ ^_^ วันนี้เลยจะมาเขียนตัวอย่างการทดสอบ api ด้วย Robot Framework (Get Request) อย่างง่ายกันค่ะ สิ่งที่ต้องใช้ API  ที่จะใช้ในการทดสอบ อันนี้จะใช้ API ที่ http://thetestingworldapi.com ค่ะ เครื่องมือที่ใช้เขียน Notepad++  ^_^ Cmd ขั้นแรกเราไปที่ http://thetestingworldapi.com แล้วคลิกที่ API ในที่นี้ขอเลือก API ของ StudentsDetails ดังรูปค่ะ จากนั้นก็เปิด Notpad++ ขึ้นมาเลยค่ะ ที่ Settings ต้องเรียก…

การทดสอบซอฟต์แวร์ (Software Testing) – 7 ข้อมูลที่ผู้ทดสอบต้องทราบก่อนเริ่มการทดสอบซอฟต์แวร์

บทความนี้ ไม่ได้เกี่ยวข้องกับ 7 สิ่งมหัศจรรย์ของโลกนะคะ (ก็แหงอ่าาจิ) แต่ผู้เขียนจะนำเสนอ 7 ข้อมูลที่ผู้ทดสอบต้องทราบก่อนเริ่มการทดสอบซอฟต์แวร์ (นอกเหนือจากความรู้เกี่ยวกับ Software Testing ที่ทุกท่านต้องทราบกันดีอยู่แล้ว) ซึ่งได้รวบรวมมาจากประสบการณ์ของผู้เขียนเองเผื่อจะเป็นประโยชน์สำหรับผู้ทดสอบท่านอื่น ๆ ค่ะ ตามตารางข้างล่างนี่เลยยยค่ะ ตารางข้างต้นนั้น หวังว่าคงจะเป็นข้อมูลที่ช่วยให้ผู้ทดสอบในการเตรียมตัวทดสอบ ไม่มากก็น้อยนะคะ 🙂 ลองเอาไปปรับใช้กันดูนะคะ ยังมีข้อมูลอีกหลายส่วนเลยล่ะคะ ไปลองตั้งคำถามกับตัวเองก่อนเริ่มทดสอบดูนะคะ ว่าเราต้องทราบอะไรบ้างงงน๊าาาาา ที่จะเป็นประโยชน์ก่อนที่เราจะลงมือทดสอบซอฟต์แวร์กัน

การทดสอบซอฟต์แวร์ (Software Testing) – #2 (Step.1) ผู้ทดสอบรับการถ่ายทอดการทำงานของซอฟต์แวร์ที่จะทดสอบจากนักพัฒนาโปรแกรม

จากตอนที่ 1 เราได้ทราบภาพรวมกิจกรรมและขั้นตอนต่างๆ ทั้งหมดในการทดสอบซอฟต์แวร์กันไปแล้ว ตอนที่ 2 ผู้เขียนจะลงลึกในรายละเอียดขั้นตอนที่ 1 ของการทดสอบซอฟต์แวร์กันค่ะ โดยขั้นตอนที่ 1 นั่นก็คือ 1. ผู้ทดสอบรับการถ่ายทอดการทำงานของซอฟต์แวร์ที่จะทดสอบจากนักพัฒนาโปรแกรม ขั้นตอนนี้เป็นการถ่ายทอดการทำงานของซอฟต์แวร์จากนักพัฒนาโปรแกรมให้กับผู้ทดสอบเพื่อให้ผู้ทดสอบทราบภาพรวม ขอบเขตและเข้าใจการทำงานทั้งหมดของซอฟต์แวร์ก่อนเริ่มการทดสอบ รวมถึงรวบรวม Task Test ทั้งหมดของซอฟต์แวร์ที่จะทดสอบค่ะ ผู้เขียนขอย่อยการดำเนินการในขั้นตอนที่ 1 เพื่อให้เข้าใจง่าย ๆ ตาม Flowchart นี้นะคะ อธิบายดังนี้ ค่ะ 1. เริ่มจากการนัดหมายเวลาในการถ่ายทอดการทำงานของวอฟต์แวร์กันก่อนค่ะ โดยนักพัฒนาโปรแกรมจะนัดวันเวลาที่จะถ่ายทอดการทำงานของซอฟต์แวร์ให้กับผู้ทดสอบกับผู้จัดการโครงการ ซึ่งจะต้องนัดล่วงหน้า ระยะเวลาเท่าไหร่นั้นก็ตามแล้วแต่เห็นสมควรและพิจารณากันเอาเองค่า อย่างทีมของผู้เขียน ก็จะนัดอย่างน้อย 1 สัปดาห์ก่อนเริ่มการทดสอบค่ะ (นัดทำไม นัดกันให้ชัดเจน…