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

ช่วงหยุดยาว 4 วันตามธนาคาร 16-17-18-19 เดือนกรกฏาคม ปี 59 ผมก็ไม่ได้ไปไหนหรอก อยู่บ้าน เผางานเหมือนเดิมครับ แม้ว่า Blog ตอนก่อนหน้าจะบอกว่า Project จบแล้ว แต่งานยังเหลือครับ หรือที่เรียกว่า End-Phrase (จำเค้ามานะ เดี๋ยวปีหน้าถ้าได้ต่อ โท จะมา Update ใหม่) โดยวันนี้ผมใช้ Test Tools ตัวใหม่ ปกติผมใช้ตัว JUnit ถ้าเป็นฝั่ง Java แต่ถ้าเป็นฟาก .Net ใช้ตัว Test ที่ Build-in มาให้ของ Visual Studio ครับ แต่ของ .Net มันเอาไปใช้กับคุณลุง Jenkins ไม่ได้ครับ ผมเลยย้ายคล้ายมาใช้งาน Nunit ครับ ในบทความนี้ เป็นการเตรียมตัว Tools ต่างๆ เพื่อทำ Nunit บน Visual Studio ครับ Nunit – ลงพวก lib พื้นฐานครับ ลงจากตัว Setup แยก หรือดึงมาจาก Nuget ก็ได้ครับ ถ้าลงตัว Step up แยก เราได้ตัว unit Console  ด้วยเผื่อ Run Test ผ่านตัว Command Line เอาไว้ใช้ Integrate กับ Continuous Integration Tools อย่าง Jenkins ตอนลงเว็บ NUnit มันเก่าแท้ครับ ไปที่ GitHub ดีกว่า  Nunit GUI – เป็น Gui…

กลับเข้าสู่หน้าห้องอีกครั้ง

ตอนนี้ผมก็ทำงานมา 3 ปีและ แต่ส่วนใหญ่จะขลุกอยู่กับ Code และ Test เป็นหลัก แต่ใน Project Treasury เนี่ย ผมได้มีโอกาสหลายๆอย่างในเวลาเกือบ 2 ปี จากงกๆจิ้มอยู่กับคอม ได้ออกมาคุยกับ User มาขึ้น และเป็นโอกาศอีกครั้งที่ได้เป็น Trainer มาสอน User เกี่ยวกับระบบงานที่ไดพัฒนากันครับ โดยผมได้ดูแล และจัดการใน 3 หมวด ได้แก่ อบรมสถาปัตยกรรมระบบ อบรมการติดตั้งและดูแลระบบ อบรมการใช้งาน Excel Pivot พอได้มาทำงานส่วนนี้แล้ว ไฟลุกครับ มันย้อนไปสมัยตอนเรียน มศว ที่ได้มาเทรน เพื่อนๆก่อนสอบที่หน้าห้องครับ หลังจากมอดไปหมดจากความโหดร้ายของ Senior Project (ผมไม่ขออธิบายและกัน เดี๋ยวดราม่ายิ่งกว่ากระทู้ Pantip ครับ) มาเข้าเรื่องดีกว่า การอบรมใน 3 หมวดที่ผมดูแล มันมีุมมองที่แตกต่างกันไป โดยมี User สาย IT ของธนาคาร อบรมสถาปัตยกรรมระบบ อบรมการติดตั้งและดูแลระบบ และ User ที่เป็นสายการเงิน การบัญชี อบรมการใช้งาน Excel Pivot การสรุปเรื่องที่นำมาสอน User ได้นะ สิ่งที่เราต้องรู้ คือ ผู้เข้าอบรมเคยรู้อะไรมาบ้าง – กล่าวผ่านๆ ไม่ต้องเสียเวลาเยอะ ผู้เข้าอบรมไม่รู้อะไร – เน้นย้ำ ลำดับความสำคัญ เพราะต้องใช้งานจริง เช่น ดูแลระบบ การประยุกต์จัดทำรายงาน เป็นต้น เก็งคำถามที่เป็นไปได้ว่าผู้เข้าอบรมจะถาม – เตรียมตัวดีมีชัยไปกว่าครึ่งครับ หน่วยงานของผู้เข้าอบรม – รู้เพิ่มปรับสไตล์ เนื้อหาให้ทัน เท่าที่เจอผู้เข้าอบรม มีจากหลายหน่วยงาน สิ่งที่เราต้องทำ คือ สนใจผู้เข้าอบรมที่ทำงานในเรื่องนั้นๆ ครับ เช่น บางคนอยู่หน่วยติดตั้งชอบทำลัด -…

[ATH2016] สรุปงาน Agile Thailand 2016

วันนี้งานฟรีอีกแล้วครับ งาน Agile Thailand 2016 ที่ CP Tower (GoSoft) ชั้นที่ 11 ครับ โดยสำหรับคนที่มางานครั้งแรก Theme งานเป็น Open Space ครับ คือ มีสถานที่ให้ใครอยากแชร์อะไร มาแปะที่ Board ครับ แล้วมา Discuss ครับ ส่วนตัวอยากให้มีคน Update ลง Google Spreadsheet ด้วย เพราะบางทีมันเปลี่ยนห้องกัน และลายมือบางคนแอบอ่านยากครับ แต่ก็สงสัยนะว่าวันจัดงานของปี 2015 กับ 2016 จัดวันที่ 9 เหมือนกัน งานปีนี้วันที่ 9 กรกฎาคม 2559 ครับ มันมีเคล็ด หรือป่าว การลงทะเบียนทางทีมงานจัดการดีมากครับ ต่างจาก Google I/O Extend Bangkok 2016 ครับ ลงทะเบียนง่าย รับของ Happy ครับ พอมาถึงขนมพร้อมครับ ช่วงแรกของงานเป็นการแนะนำงานก่อน และให้ Speaker แต่ละคนมาขายของครับ ดูดคนฟัง เนื่องจากปีนี้ Slot มันเยอะมากกว่าปีที่แล้ว พอสมควรครับ ผมเลยเลือกหัวข้อที่ผมสนใจ และเข้าฟัง ตามนี้ครับ (ถ้าว่างๆ มาเขียน Blog ต่อครับ) CMMI – Water Fall – Agile – Scrum Agile Transformation Good Transformation Coach Installing & Self-Management BDD with Cucumber มันไม่ง่าย แต่เริ่มได้ Panel Disscussion – สรุปรวมในงาน ให้…

[ATH2016] BDD with Cucumber มันไม่ง่าย แต่เริ่มได้

หัวข้อ BDD with Cucumber เป็นอีกเรื่องที่แตกมาจาก Blog หลักครับ สรุปงาน Agile Thailand 2016  โดยเรื่องนี้ Speaker คือ คุณ Tanjai ครับ สำหรับตอนนี้ DD เยอะแยะเลย มีทั้ง TDD, ATDD และ BDD เป็นต้นครับ โดยของพวกนี้มีมาเพิ่มตรวจสอบความถูกต้องครับ เจ้า ตัว BDD หรือ Behavior Driven Development มาตรวจสอบความถูกต้องระหว่าง Business Test, Technical Test และ Test Case ตรงกัน หรือไม่? เพิ่มการทำงานร่วมกันของคน 3 กลุ่ม คือ Business Analyst, System Analyst, Programmer และ Quality Assurance ครับ โดยก่อนเริ่มทำ BDD เราต้อง Explore – หาสิ่งที่ทำ คือ อะไร / Feature ที่ทำอยู่ Discover – ทำงานอย่างไร มี Scenario อย่างไร Define – กำหนด Acceptance Criteria คือ อะไร Drive – ทำให้ BDD มันก่อกำเนิดขึ้นมาครับ มาเริ่มกันเลย โดยการถามว่า Feature สร้างมาเพิ่มอะไร ทำอย่างไร มี Scenario อย่างไร เพื่อให้ได้ Example ที่เป็น Concrete Example เช่น Facebook มีระบบ Search แต่การ Search มี Scenario…

[ATH2016] Good Transformation Coach

สำหรับตอนนี้ Good Transformation Coach โดยคุณ อุรณเทพ (พี่กัน) ครับ Blog อันนี้แตกมาจาก สรุปงาน Agile Thailand 2016 ครับ เป็น Session พิเศษครับ ต่อจากหัวข้อ Agile Transformation เพราะห้องอื่นเต็มหมดครับ โดยการเป็น Coach หรือ Manager ที่ดี ต้องมีความสามารถเหล่านี้ แต่มันไม่สามารถอ่านจากหนังสือได้ ต้องสะสมประสบการณ์ เก็บเกี่ยวไปสักพักนึงครับ โดยมีทั้งหมด 10 ข้อ ดังนี้ They have an uncanny ability to “read a room.” สามารถอ่านบรรยากาศภายในองค์กรได้ บรรยากาศมาคุ ใครไม่ชอบใคร เป็นต้น They care about people more than products. สนใจที่คน ความสัมพันธ์ เพราะ คนสร้าง Productivity ครับ They cultivate curiosity.They know when they don’t know. การที่เป็น Coach หรือ Manager บุคคลภายนอกจะตีตราว่าเรารู้ทุกอย่าง ต้องยอมรับความจริงว่าบางเรื่อง เราไม่รู้ เพราะ โลกวันนี้ไปเร็วมาก ให้ถาม (Ask) , ขี้สงสัย อยากรู้(Curiosity) แต่ไม่ใช่ลองของ แต่ต้องดูด้วยว่าเรา Contact กับคนใน Gen ไหน ฺBaby Boomer, Gen X – ต้องพยายามทำเหมือนว่าเรารู้ ไม่งั้นอาจจะไม่ได้งาน เพราะ Baby Boomer, Gen X ผ่านความยากลำบากมาก่อน Gen Y…

[ATH2016] Installing & Self-Management

ฺBlog ตอนนี้ผมแตกมาจาก สรุปงาน Agile Thailand 2016 ครับ จะได้ไม่อ่านกันยาก บทความได้ไม่ยาวเกินไปและเฉพาะเรื่องด้วย เข้าเรื่องเลยดีกว่าครับ หัวข้อ Installing & Self-Management โดยคุณ Verokas ได้เสนอประเด็นที่ว่าปัจจุบันการทำงานในชีวิตจริง การจัดงานโครงการต่างๆ มันขึ้นอยู่กับ Project Manager คนเดียว ที่มีคนอำนาจสั่งการ จัดการ ตัดสินใจ บางครั้ง ปัญหาบางเรื่องมันคอขวดที่ PM คนเดียวครับ (Centralization) มาเป็นการกระจายอำนาจ การจัดการต่างๆ (Decentralization) ลงไปเป็นลำดับชั้นไปรากหญ้าครับ แล้วรากหญ้า คือ ใคร เป็น Manager, Senior Dev หรือป่าว ? ไม่ใช่ครับ พยายามกระจายให้ลงไปยังรากหญ้าจริงๆ คือ พวก  Junior ทั้งหลายครับ ไม่ว่าเป็น DEV, QA ฯลฯ แต่การกระจายงานลงไปได้ เราต้องทำการ Distributed management skills ครับ ฝึกก่อนครับ People vs Technical People – บริหารคน กระจายงาน Technical – ดูงานด้านเทคนิคแทน ไม่ว่าจะ IT หรือ Business People vs Technical เป็นงานที่ Manager อยู่ครับ หลายคนเห็นว่า Manager ทำงานดึก เดินไป เดินมา แต่ไม่รู้เนื้องานว่าทำอะไร เวลาที่หมดไป หมดไปกับการบริหาร การตามงาน Time Management จัดการเวลา จัดการง่ายๆ ลำดับความสำคัญครับ (Prioritization) Always more work than time – งานมันเยอะกว่าเวลา ดีแล้วครับ อย่างน้อย บริษัทยังมีงานทำ ไม่ได้เจ๊ง…

[ATH2016] Agile Transformation

สำหรับตอนนี้ Agile Transformation โดยคุณ อุรณเทพ (พี่กัน) ครับ Blog อันนี้แตกมาจาก สรุปงาน Agile Thailand 2016 ครับ การเปลี่ยนองค์การ หรือบริษัทให้มาใช้ Agile เราใช้ Agile ได้สิ่งที่เราต้องรู้ คือ รู้จักคน รู้จักวัฒนธรรมองค์กร-ทีม Practices – Agile Basic MindSet ถ้านำ Agile มาใช้ เราต้องรู้จักคนก่อน โดยใช้เมตริกซ์ DISC มาดูที่แกนต่างๆกันก่อน Accepting – People focus, Go with Flow, Empathizing (เห็นอกเห็นใจ), Subjective(ปรับตามสถานการณ์ได้), Shades of Grey(Flexible ยืดหยุ่นได้) Questioning – Logic-Focus(0-1, True-False), Challenging(ตั้งคำถามเก่ง รู้ละเอียดก่อนตัดสินใจ), Skeptical(ขี้สงสัย), Objective(มีแนวคิดแตกต่างเสมอ), Black-White (มองอะไรแบบชัดเจน) Active – Fast-Paced(เร็ว), Bold(กล้าคิด กล้าทำ), Dynamic, Assertive(กล้าที่ต่อรอง) Thoughtful – Moderate-Paced(ค่อยเป็นค่อยไป), Calm(นิ่ง), Careful(ระมัดระวัง), Methodical(รัก Process กระบวนการ) ตอนบรรยายพี่กันให้ทุกคนคิดว่าตัวเองเป็นแบบไหน และเลือกฝั่งครับ แบ่งคนเป็นกลุ่ม 4 กลุ่ม ดังนี้ครับ ** เมตริกซ์ เป็นเพียงแค่ตัวคัดกรองเฉยๆครับ ไม่ใช่ว่าคนในกลุ่ม C (Cautious) -WHY? เอามาเข้า Agile ยากเสมอครับ มันซอยย่อยๆลงไป บางคนเค้าสงสัย เพราะ อาจจะคิดว่าทำไมถึงควรทำ ถ้าได้เหตุผลที่ดี เค้าสามารถปรับใช้เข้ากับ Agile ได้ครับ หรือแม้แต่สาย S (Supportive) – How ที่เข้า Agile ได้ง่ายสุด…

[ATH2016] CMMI – Waterfall – Agile – Scrum

Blog นี้ ผมแตกประเด็นมาจาก สรุปงาน Agile Thailand 2016 โดยในตอนนี้ ผมขอรวม Slot 2 อัน ในช่วงเช้า เข้าด้วยกันเลยครับ โดยมีของ SPI – CMMI vs Agile ของคุณ นิ้ง Agile & Scrum. How to get start ของคุณ ปลา ครับ ก่อนที่เราเข้าประเด็นกัน สิ่งที่เราต้องรู้กันก่อนคำศัพท์ แต่ละคำ คือ อะไร ครับ CMMI (Capability  Maturity  Model  Integration) – คือ มาตรฐานที่เอาไว้บอกถึงความเชื่่อมั่น และคุุณภาพของกระบวนกาพัฒนา Software ทำให้เป็นระบบ และยืดหยุ่นต่อการปรับเปลี่ยนได้ ตัว CMMI มี 5 Level (เอาคร่าวๆ ก่อนนะครับ จริง CMMI มันมีแผนผัง อารมณ์เดียวกับ Skill Tree ใน Game ครับ) Level 1 – มี Product ก็ผ่านแล้วครับ Level 2 – Repeatable การกำหนด Basic Project Management งานหลักๆ ที่ใช้ในการพัฒนา Software Level 3 – Defined การกำหนดรูปแบบของการทำงานเข้ามา และนำไปใช้กับทั้งองค์กร Level 4 – Managed มีการเก็บสถิติการทำงาน และ วัดผลการทำงาน Level 5 – Optimizing / Continuous Process Improvement นำข้อมูลที่ได้มีวิเคราะห์หาสาเหตุ และปรับปรุงกระบวนการทำงานให้ดียิ่งขึ้น Process Area สำหรับ…

[.Net] เซมารู ช๊อกกา เอา Java มาเขียน DOT NET กัน Go! Go! Let’s Go! Rider

จริงๆน่าจะมีหลายๆคน Review แล้วมั้ง สำหรับผมอยากลองของใหม่ๆ เพราะกำลังเขียน Blog ตอนใหม่ที่ต้องใช้ C# อยู่ครับ ผมเลย ลง Rider  ซะเลย พอได้ยินชื่อทำไมนึกถึง คาเมนไรเดอร์ ไม่รู้ 5555 Semaru Shocker!! Akuma no gundan ….. Go! Go! Let’s Go! IntelliJ Rider สำหรับตัว Rider เป็น IDE ที่พัฒนาโดย jetbrains ครับ หลายคนอาจจะไม่รู้จักกัน แต่ถ้าพุดถึง IDE IntelliJ ของฝั่ง Java ที่ทำให้หลายคนลบ Eclipse ทิ้ง และส่วนเสริม MS Visual Studio อย่าง ReSharper ที่ทำให้ Visual Studio ที่ดูโง่ๆ มันฉลาดขึ้นครับ มี Background ที่ดีขนาดนี้แล้ว รออะไรกัน Download มาทดลองโลดครับ ปล.มันเป็น version early build พูดง่าย คือ ให้เราเป็นหนูทดลอง ฮ่าๆ ขั้นตอนการลงกด Next ไปเลยครับ ผมมี Capture หน้าจอไว้ ยกเว้นหน้า Finish มือไวไปนิดครับ สังเกตุที่รูปนะครับ ตอนลงไฟล์ .jar มาอื้อเลย เมื่อเปิดมาครั้งแรก มันดูฉลาดกว่า Visual Studio มีการนำเข้า Setting ของ Rider รุ่นเก่าได้ (ตอนนี้ผมใช้ Visual Studio 2013 ครับ รอจบ Project Treasury ค่อยเปลี่ยน) ต่อไปการกำหนด Style, การกำหนด key ลัด หรือการ Report Issue กรณีที่มี…

ลาจากกับบัตร Debit แถบแม่เหล็กที่ใช้มา 9 ปี

ช่วงที่ผ่านมาทุกคนคงได้เห็นข่าวที่ว่า ธนาคารแห่งประเทศไทยบังคับให้ทุกๆธนาคาร เปลี่ยนบัตรจากบัตรแถบแม่เหล็กไปเป็นบัตรชิปแทนครับ เพื่อป้องกันจากการถูก skimming ครับ เจ้าตัว skimming คือ การฉกข้อมูลบัตรแถบแม่เหล็กครับ โดยฉกจากตู้ ATM เพราะ ตั้งกระจาย และมีุดอับที่สามารถแอบติดตั้ง Tools ที่ฉกข้อมูลได้ง่ายสุดครับ โดยการ skimming มี 2 Step ครับ ฉกข้อมูลในบัตร โดยดึงมาบัตรแถบแม่เหล็ก เพื่อนำไปทำบัตรปลอม ฉกข้อมูลรหัสผ่าน โดยติดกล้องในตู้ ATM เพื่อเก็บรหัสผ่านไปใช้กับบัตรปลอมครับ ในไทยมีตัวอย่างเหมือนกันนะครับ ขอบคุณข้อมูลจาก Pantip ครับ สำหรับช่วงนี้ คงไม่มีธนาคารไหนให้บัตรแถบแม่เหล็กมาแล้วครับ ช่วงนี้คงเป็นช่วง Parallel Phrase จนถึงสิ้นปี พ.ศ. 2562 บัตรแถบแม่เหล็กจะใช้งานไม่ได้อีกต่อไปครับ แล้วที่นี้บัตรชิป มีสิ่งที่เราควรรู้อะไรบ้าง บัตร ATM ไม่มีอีกแล้ว เป็นบัตร Debit แทนครับ เพราะบัตรชิป รองรับระบบบัตร Debit ได้ในตัวเลยครับ โดยเจ้าชิป EMV เกิดมาจาก Europay, Master Card และ VISA ที่ร่วมกันแก้ปัญหาของบัตรแถบแม่เหล็กป้องกันการแอบขโมยข้อมูลในบัตรครับ เมื่อมันเกิดจากผู้ให้บริการ ชิป EMV  จึงสามารถลิงค์กับผู้ให้บริการได้เลยครับ สำหรับใครที่อยากให้บัตรมีเฉพาะ Feature ATM สามารถแจ้งพนักงานได้นะครับ บัตรชิป ใช้เวลาในการทำงานนานขึ้นสักนิด สำหรับเครื่องรุ่นเก่าๆ แต่จริงๆ ถ้าตัดพวกโฆษณาไปน่าจะทำงานเร็วขึ้นครับ โดยเฉพาะตู้ Kbank ต้องรอ Video Ads ที่เล่นอยู่ แถมกระตุก ให้จบก่อน ถึงทำงานต่อได้ครับ รหัสผ่านเพิ่มขึ้นจาก 4 ตัว เป็น 6 ตัว หลายคนอาจจะงงๆ ตอนใช้งานได้ครับ ต้องใช้เวลาปรับตัวครับ เกริ่นที่มาซะยาวเลย มาดูกันดีกว่าว่า แต่ละธนาคารมีกำหนดการรับเปลี่ยนบัตร และมีค่าใช้จ่ายอย่างไร มาดูบัตรแม่เหล็กที่ใช้มา 9 ปีของ SCB ดีกว่า ผมว่าลายมันสวยมากๆครับ ใช้มานานตั้งแต่…