Tag unit test

Unit Test เตือนเรื่องพวก Concurrent / Thread ได้นะ

หลังจากหักดิบ ให้ Jenkins ถ้า Test Fail ให้ระบบตี Fail เลย เรียกว่าหักดิบจริงๆแหละ เพราะคนในบริษัทไม่ค่อยเห็นด้วยเท่าไหร่ ยังเชื่อมั่นในทุกคนจะมาตรวจเองด้วยมือ และ QA ตรวจทุกรอบ และวันนี้เจอเคสแปลกๆ เข้าตามรูปครับ จากเคสนี้จะเห็นว่ามัน Test Fail แบบแปลกๆ ผ่านหมด / fail 1 -7 สุ่มกันไป และสุ่ม Agent ด้วย ถ้าเราเข้ามาดูลึก มันจะเป็นเรื่องของ Concurrent / Thread ได้นะ แยกกันทำ แล้วทำงานไม่ได้ ซึ่งถ้าหากไปดูที่ Service…

[C#] ทำ Unit Test กับ XML ครับ

หลายคนยังทำงานอยู่กับตัว XML เวลามีปรับแก้อะไร อาจจะเจอปัญหาว่า Version เก่า ถูก พอเพิ่มข้อมูลอะไรเข้ามาแล้วผิดได้ หนึ่งในทางที่ช่วยลดปัญหา คือ การลงทุนทำ Test จะได้ให้มันช่วยเตือนตอน Regression Test แล้ว มีอะไรแปลกๆ ครับ สำหรับตัว XML มันมี Library ที่ช่วยอยู่ครับ คือ ตัว XMLUnit มีทั้ง ฝั่ง DOTNET และ Java เลยครับ โดยใน Blog นี้ ผมจะเขียนในมุมของ DOTNET ครับ Let’s Test…

Code Coverage คือ อะไร และสำคัญยังไง ?

ช่วงนี้พยายามจะดันให้ทุกคนในบริษัทเขียน Test แบบ (Automate) มันมีคำถามว่า แล้วเราจะรู้ได้ยังไง ว่า Test ที่เขียนไปมันมีคุณค่า ไม่ใช่ Test เข้าไป execute ที่ code จุดเดิมซ้ำๆ เลยเป็นที่มาของ Blog นี้ครับ โดยจะมีหัวข้อย่อยๆ ดังนี้ Code Coverage คือ อะไร ? KEY: Code Coverage มันบอกว่าเราเข้าใจ Code ที่เขียนมากแค่ไหน จากตัว Testแต่ Code ที่เขียนมา มันจะถูกต้องตาม Business ไหน มันอีกเรื่องนะ…

ตั้งชื่อ Unit Test กันยังไงนะ ?

Unit Test

อันนี้เป็นคำถามที่น่าสนใจเหมือนกัน ผมเลยลอง Research มาดูนะ เพราะ Pattern ที่ใช้กันตอนนี้ T<TICKETID>_<DESCRIPTION NOTE> หลังจากลอง Research มาพบว่ามีคนเขียนไว้เหมือนกันนะ 7 Popular Strategies: Unit Test Naming Conventions – DZone ลองดูแล้วมีตัวที่น่าสนใจอยู่นะ อย่าง Pattern ที่ 7 คนที่เข้ามาอ่าน Code ของ Unit Test จะได้เข้าใจด้วยเลย Reference

[BPMN] มา Test BPMN ที่สร้างจาก Camunda กันครับ

หลังจากยุ่งกับงานประจำนานเลย ตอนนี้เริ่มกลับมาทำงาน Thesis แล้วครับ ถ้าใครสร้าง BPMN ด้วย Camunda ไปแล้วนั่น หาจะทดสอบมีได้หลายวิธีครับ เช่น แต่ถ้ามาดูที่ตัว Camunda มีตัวช่วยสำหรับ Test เหมือนกันครับ โดยมีตัวช่วย ดังนี้ สร้าง BPMN ก่อนครับ มาลุย Code กันดีกว่าครับ สำหรับ Tools ที่ผมใช้ IntelliJ กับ Camunda Test Project Template ครับ เมื่อ Generate Project มาแล้วจะพบตัว InmemoryH2Test กับ…

[SPRING] สวัสดีชาวโลก

หลังจาก Blog ตอนที่แล้ว ผมได้เขียนเกี่ยวกับเขียน Spring โดยใช้ VSCode ครับ ซึ่งจาก Blog ตอนก่อน ยังติดปัญหาอยู่ที่ว่าเว็บทำงานแล้ว แต่ไม่มีการแสดงผลอะไรทั้งนั้นเลย ซึ่งใน Blog ตอนนี้ผมจะมาทำ Hello world ครับ สิ่งที่ต้องเตรียม งานที่ทำจาก Blog ตอนก่อนหน้าครับ ถ้าไม่ได้เริ่มมาจาก Blog ผม ก็สามารถเพิ่ม Dependency ไปที่ไฟล์ pom.xml  ดังนี้ <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> ลุยยเลยครับ มาดูโครงสร้างของ Project กันก่อนครับ src…

[BPMN] Activiti สร้าง Unit Test

หลงจาก Blog ตอนที่แล้ว ที่ได้สร้าง Process ของการขอเบิกเงินไปแล้ว ตอนนี้เราต้องมา Proof ก่อนว่า Process ที่ทำนั้น มันใช้งานได้จริงๆ พร้อมที่นำไป Deploy ขึ้น Activiti Server ครับ โดยมีขั้นตอน ดังนี้ Step 1 : กำหนดโครงสร้างไฟล์ที่เกี่ยวข้องกันก่อน <Project Name> |-src |-main | |-java [1] | |-resources [2] | |-diagrams | |-Test.bpmn |-test |-java…

[Nunit] เริ่มต้น Test กับ Tools ตัวใหม่

.NET Core

ช่วงหยุดยาว 4 วันตามธนาคาร 16-17-18-19 เดือนกรกฏาคม ปี 59 ผมก็ไม่ได้ไปไหนหรอก อยู่บ้าน เผางานเหมือนเดิมครับ แม้ว่า Blog ตอนก่อนหน้าจะบอกว่า Project จบแล้ว แต่งานยังเหลือครับ หรือที่เรียกว่า End-Phrase (จำเค้ามานะ เดี๋ยวปีหน้าถ้าได้ต่อ โท จะมา Update ใหม่) โดยวันนี้ผมใช้ Test Tools ตัวใหม่ ปกติผมใช้ตัว JUnit ถ้าเป็นฝั่ง Java แต่ถ้าเป็นฟาก .Net ใช้ตัว Test ที่ Build-in มาให้ของ Visual…

ความแตกต่างของ Unit Test และ Integration Test

Unit Test คือ การทดสอบ Code ในส่วนที่เล็กที่สุดของ Developer เพื่อทดสอบว่าสิ่งที่เขียนมามันใช้ได้จริงนะ และมี Test ตามที่ผู้พัฒนาเห็นว่ามันสำคัญ (พยายามทำให้ได้เยอะที่สุดครับ) Test ควรทำได้ง่าย เขียนสั้น และกระชับ เพราะกลุ่มคนหลักๆที่ใช้ คือ ตัว Developer เองครับ สิ่งที่เป็นหัวใจหลักของ Unit Test คือ ทำให้มันอยู่ได้ด้วยตัวมันเอง ไม่มี Dependency ไปยุ่งกับ Code ตัวอื่นๆ ถ้าจำเป็นต้องใช้จริงๆ ให้ Mock มันเข้ามาให้หมด เพราะจุดประสงค์ของ Unit Test ดูเฉพาะ Logic การทำงานในส่วนที่เราสนใจจริงๆ…

[.NET] Failed to initialize client proxy: could not connect to test process vstest.discoveryengine.x86.exe

เพิ่มเติมจากบทความเมื่อวานนะครับ Failed to initialize client proxy: could not connect to test process. แต่คราวนี้ตัว Visual Studio มีการแจ้ง Message เพิ่มเติมจากครั้งที่แล้ว ดังนี้ครับ —— Run test started —— Failed to initialize client proxy: could not connect to test process vstest.discoveryengine.x86.exe ========== Run test finished: 0…