แร่ Rare Earth คืออะไร ทำไมถึงมีความสำคัญขนาดนั้น

แร่ Rare Earth (แรร์เอิร์ธ) เป็นแร่ที่มีคุณสมบัติเหมือนโลหะ คำว่า Rare Earth แปลว่าหายาก การหายากนี้ไม่ได้หมายความว่าจะหายากเหมือนทองคำแต่เป็นกระบวนการที่สกัดเพื่อนำมาใช้งานนั้นยากมาก สารที่สะกัดจากแร่ใช้เป็นส่วนประกอบของการผลิตอุปกรณ์อิเล็กทรอนิกส์ เช่น แบตเตอรี่ แผงวงจร ชิปประมวลผล คอมพิวเตอร์ เครื่องบิน จรวด เป็นต้น Rare Earth ประกอบไปด้วยธาตุทั้ง 17 ชนิด ได้แก่ Atomic Number   Symbol             Name                     21 Sc Scandium 39 Y Yttrium 57 La Lanthanum 58 Ce Cerium 59 Pr Praseodymium 60 Nd Neodymium 61 Pm Promethium 62 Sm Samarium 63 Eu Europium 64 Gd Gadolinium 65 Tb Terbium 66 Dy Dysprosium 67 Ho Holmium 68 Er Er

Automation testing หรือ การทดสอบซอฟต์แวร์อัตโนมัติ คืออะไร ทำไมถึงสำคัญต่อการทดสอบซอฟต์แวร์


     การทดสอบซอฟต์แวร์นั้นถือเป็นกระบวนการอย่างหนึ่งในการพัฒนาซอฟต์แวร์ เพื่อหาข้อผิดพลาดและป้องกันข้อผิดพลาดที่จะเกิดขึ้น ช่วยให้ซอฟต์แวร์ที่พัฒนานั้นมีประสิทธิภาพ ซึ่งในช่วงการทดสอบซอฟต์แวร์นั้น กระบวนการสำคัญที่ tester จะใช้ในการทดสอบคือ Manual Testing เป็นการหาข้อผิดพลาดโดยใช้คนเข้าไปตรวจสอบดูว่าซอฟต์แวร์มีข้อผิดพลาดตรงไหนหรือไม่ ยกตัวอย่างเช่น หากซอฟต์แวร์มีการเปลี่ยนแปลง มี New feature ใหม่ขึ้นมา tester จะมีการทดสอบแบบ Regression testing คือการ run test case เก่าๆ เพื่อดูว่าซอฟต์แวร์มีข้อผิดพลาดหรือไม่ หากพิจารณาดูแล้ว ค่อนข้างจะเป็นงานที่ทำซ้ำและเสียทั้งเวลา ปัจจุบันจึงมีแนวคิดที่จะนำงานที่ทำซ้ำๆนั้นไปทำเป็น Automation หรือทำให้เป็นระบบอัตโนมัติขึ้นมา เช่น ต้องการทดสอบหน้าของการสมัครสมาชิก ซึ่งข้อมูลที่ต้อง Input เข้าไป ผลที่คาดหวัง ค่อนข้างจะมีค่าที่แน่นอนอยู่แล้ว ซึ่งเราสามารถทำการทดสอบลักษณะแบบนี้ให้เป็น Automation testing ได้ หรืออาจจะมองว่าเรากำลังสร้างหุ่นยนต์ขึ้นมาเพื่อทดสอบซอฟต์แวร์นั่นเอง

เข้าใจรูปแบบของการทดสอบกันก่อนจะรู้จัก automate test 

     แน่นอนว่าในการทดสอบซอฟต์แวร์นั้นเป็นการหาข้อผิดพลาดและเป็นการป้องกันข้อผิดพลาดของซอฟต์แวร์ซึ่งในการทดสอบซอฟต์แวร์นั้นก็สามารถแบ่งออกเป็น functional testing กับ non-functional testing ซึ่งเราจะนำ automation testing มาใช้ในการทดสอบกับ functional testing
     การทดสอบ functional testing นั้น จะเป็นการทดสอบเชิงฟังก์ชัน ว่าฟังก์ชันที่ถูกสร้างขึ้นมานั้นเป็นไปตาม requirement หรือไม่ ค่า input ที่ใส่เข้าไปในโปรแกรม กับ output ที่ได้สอดคล้องกับ requirement หรือไม่ ซึ่งในส่วนของ functional testing นี้เองก็จะมีประเภทแยกออกไปอีกคือ

  • Smoke testing คือ การทดสอบว่าซอฟต์แวร์ที่สร้างขึ้นมาสามารถทำงานบน System หรือ Application ได้ Smoke test นั้นจะแสดงให้เห็นว่าระบบสามารถทำงานได้ ถูกต้องตาม requirement โดยการทำการทดสอบโดยใช้ Smoke test จะทำให้เรามั่นใจได้ว่า function หลักของระบบจะสามารถทำงานได้อย่างปกติ
  • Sanity testing คือการทดสอบ new feature หรือ bug ที่ fixed จะเน้นการทดสอบใน function การทำงานที่แก้ไข เพื่อมั่นใจว่าสิ่งที่ได้แก้ไขนั้นจะไม่สิ่งผลกระทบต่อซอฟต์แวร์
  • Regression testing คือ การทดสอบซอฟต์แวร์เพื่อให้มั่นใจว่า การเปลี่ยนแปลงของซอฟต์แวร์นั้น จะไม่กระทบ function การทำงานเดิม เช่น มี requirement ใหม่, มีการเปลี่ยนแปลงของ code, การ fix bug, มี feature ใหม่ๆเพิ่มเข้ามา เป็นต้น สิ่งที่จะทำให้มั่นใจว่า function การทำงานเดิมจะไม่ได้รับผลกระทบนั้น tester จะทดสอบซอฟต์แวร์อีกครั้ง จาก test case ชุมเดิม ที่ได้เคยสร้างไว้
  • Usability testing หรือ User Experience Testing คือการให้ user เป็นคนทดสอบเพื่อดูการทำงานของซอฟต์แวร์ว่าถูกต้องหรือไม่ แล้วบันทึกผลการทดสอบจาก user ว่า user มีความพึ่งพอใจในการใช้งานหรือไม่ โดยผลการทดสอบจะเป็นสิ่งที่นำไปประเมินและปรับปรุงระบบต่อไป
Automation testing จะเข้ามาช่วยในการทดสอบซอฟต์แวร์ได้อย่างไร

     การนำ Automation testing มาช่วยการทดสอบโดยเฉพาะช่วงของการทดสอบซอฟต์แวร์แบบ Regression testing นั้นจะมีประสิทธิภาพสูงสุด เพราะ Regression testing นั้นจะใช้เวลาค่อนข้างนาน หากเทียบกับการทดสอบรูปแบบอื่นๆ เพราะจะต้อง execute test case ทั้งหมดที่มีอยู่เพื่อให้มั่นใจว่า new feature นั้นจะไม่ส่งผลกระทบ ด้วยปัญหาที่ Regression testing ต้องทำซ้ำบ่อยๆ ใช้เวลาการทดสอบมาก และก็ใช้ tester หลายคนเพื่อมาช่วยกันทดสอบ จึงมีความคิดในการสร้าง test script ขึ้นมา โดย test script นั้นจะถูกสร้างโดย automation tester ต้องอาศัย tester ที่มีความรู้ความเข้าใจการสร้าง test script ภายใต้ Automation Framework ที่สนใจ หลังจากสร้าง test script เสร็จแล้วก็สามารถนำ test script มาทดสอบ Regression testing ได้เลย แทนที่จะใช้ tester ในการ execute test case ทุกครั้ง ต่อไปก็จะใช้ test script ทำงานแทน tester  ทำให้ลดต้นทุนด้านเวลาและคนที่จะมา execute test case ได้อย่างมาก

ข้อดีข้อเสียของการทำ Automated test
ข้อดี
  • เป็นการทดสอบที่รวดเร็ว
  • ข้อผิดพลาดในการ run test น้อยกว่าคน(Manual test) เนื่องจากเป็นการทำงานโดย Scripts และสามารถตรวจสอบผลลัพธ์ที่คาดหวังได้อย่างแม่นยำ
  • สามารถชี้วัดคุณภาพของซอฟต์แวร์ได้อย่างรวดเร็ว
  • สร้างความน่าเชื่อถือให้กับซอฟต์แวร์
ข้อเสีย
  • มีค่าใช้จ่ายเพิ่มเติมในการสร้าง test scripts
  • ต้องการเทคโนโลยีอื่นในการพัฒนา เช่น Automation framework
  • ทีมพัฒนาต้องเข้าใจและมีความสามารถเกี่ยวกับ Automation
  • มี Cost ในการ Maintenance test scripts

ป้ายกำกับ

แสดงเพิ่มเติม

บทความยอดนิยม

วิธีเก็บ วิเคราะห์ รวบรวม requirement อย่างไรให้มีประสิทธิภาพ

Performance Test คือ อะไร วัดประสิทธิภาพของระบบ ล่มไม่ล่ม จะรู้ได้อย่างไร

ถอดรหัสความลับเครื่อง Enigma จุดเริ่มต้นและจุดจบของสงครามโลกครั้งที่ 2