วัตถุประสงค์หลักของโครงการซอฟต์แวร์คือการได้รับผลผลิตที่มีคุณภาพสูงในขณะที่ลดต้นทุนและเวลาที่ต้องใช้ในการทำโครงการให้สำเร็จ เพื่อให้บรรลุผลดังกล่าว บริษัท ต่างๆต้องนำผลิตภัณฑ์ซอฟต์แวร์ไปสู่การทดสอบสี่ระดับเป็นหลัก การทดสอบหน่วยเป็นการทดสอบระดับแรกในการทดสอบซอฟต์แวร์ ตลอดบทความนี้เราจะสำรวจรายละเอียดการทดสอบหน่วยใด หากคุณยังใหม่กับการทดสอบซอฟต์แวร์อย่าลืมอ่านไฟล์ .
มาดูหัวข้อต่างๆในบทความนี้กัน:
- ระดับการทดสอบซอฟต์แวร์
- การทดสอบหน่วยคืออะไร?
- คุณทำการทดสอบหน่วยอย่างไร
- ประโยชน์ของการทดสอบหน่วยคืออะไร?
- การสาธิต: การเขียนแบบทดสอบหน่วยตัวอย่าง
- กรอบการทดสอบหน่วยที่ดีที่สุด
ระดับการทดสอบซอฟต์แวร์
เป็นระยะในวงจรการพัฒนาซอฟต์แวร์ซึ่งซอฟต์แวร์ที่มีความสำคัญทางธุรกิจได้รับการตรวจสอบความถูกต้องคุณภาพและประสิทธิภาพ
การทดสอบซอฟต์แวร์มีระดับพื้นฐานสี่ระดับโดยแต่ละระดับจะตรวจสอบการทำงานของซอฟต์แวร์จากจุดชมวิวที่ไม่ซ้ำใครภายในกระบวนการพัฒนา การทดสอบซอฟต์แวร์ทั้งสี่ระดับมีดังที่แสดงในภาพด้านล่าง
บทความนี้จะอธิบายการทดสอบหน่วยการทดสอบซอฟต์แวร์ระดับแรกโดยละเอียด
การทดสอบหน่วยคืออะไร?
การทดสอบหน่วยเป็นวิธีการทดสอบโค้ดชิ้นเล็กที่สุดที่เรียกว่า a หน่วย ที่สามารถแยกได้อย่างมีเหตุผลในระบบ ส่วนใหญ่มุ่งเน้นไปที่ความถูกต้องในการทำงานของโมดูลแบบสแตนด์อโลน
หน่วยสามารถเป็นได้เกือบทุกอย่างที่คุณต้องการไม่ว่าจะเป็นฟังก์ชันการทำงานเฉพาะโปรแกรมหรือวิธีการเฉพาะภายในแอปพลิเคชัน หน่วยที่เล็กกว่าดีกว่า การทดสอบขนาดเล็กมักจะให้มุมมองที่ละเอียดยิ่งขึ้นเกี่ยวกับการผลิตของคุณโค้ดกำลังทำงาน นอกจากนี้การทดสอบของคุณยังทำงานได้เร็วขึ้นหากมีขนาดเล็ก ดังนั้นจึงเป็นการทดสอบซอฟต์แวร์ระดับจุลภาคด้วย
คุณทำการทดสอบหน่วยอย่างไร
เป้าหมายของการทดสอบหน่วยเพื่อแยกแต่ละส่วนของโปรแกรมและทดสอบว่าแต่ละส่วนทำงานอย่างถูกต้องและเป็นไปตามที่ตั้งใจไว้ ในขณะที่ทำการทดสอบหน่วยฟังก์ชันรหัสแอปพลิเคชันจะดำเนินการในสภาพแวดล้อมการทดสอบด้วยการป้อนข้อมูลตัวอย่าง จากนั้นเอาต์พุตที่ได้จะถูกเปรียบเทียบกับเอาต์พุตที่คาดหวังสำหรับอินพุตนั้น หากตรงกับการทดสอบผ่าน ถ้าไม่มันคือความล้มเหลว การทดสอบหน่วยเหมาะอย่างยิ่งสำหรับการยืนยันความถูกต้องของรหัส มาดูตัวอย่างอัลกอริทึมที่แสดงแนวคิดนี้
อย่างที่คุณเห็นการทดสอบหน่วยนั้นค่อนข้างง่าย คุณเขียนโค้ดบางส่วนและนำไปทดสอบ หากการทดสอบผ่านคุณจะเพิ่มลงในชุดทดสอบของคุณและทดสอบส่วนถัดไปของโค้ด มิฉะนั้นคุณได้ทำการเปลี่ยนแปลงที่จำเป็นและทดสอบอีกครั้ง ทำซ้ำขั้นตอนจนกว่าซอฟต์แวร์ทั้งหมดจะได้รับการทดสอบการทดสอบพื้นฐานประเภทนี้มีข้อดีมากมายเช่นค้นหาข้อบกพร่องของซอฟต์แวร์ตั้งแต่เนิ่นๆทำให้การรวมระบบง่ายขึ้นโดยมีแหล่งที่มาของ , และอื่น ๆ อีกมากมาย.
วิธีการแปลงวันที่สตริงเป็นวันที่ใน java
ประโยชน์ของการทดสอบหน่วยคืออะไร?
การทดสอบการถดถอยเป็นประโยชน์ต่อ บริษัท ในหลาย ๆ วิธีเช่น:
ทำให้การเข้ารหัสคล่องตัว
การทดสอบหน่วยช่วยเพิ่มความเร็วในกระบวนการเข้ารหัส เมื่อคุณเพิ่มคุณสมบัติใหม่ให้กับแอปพลิเคชันของคุณบางครั้งคุณอาจต้องแก้ไขการออกแบบและรหัสของผลิตภัณฑ์ซอฟต์แวร์ของคุณ อย่างไรก็ตามการเปลี่ยนรหัสที่ทดสอบแล้วนั้นใช้เงินและความพยายามมากเกินไป แต่ด้วยการทดสอบหน่วยคุณสามารถทดสอบโค้ดที่เพิ่มเข้ามาใหม่แทนที่จะทดสอบทั้งโปรแกรม นอกจากนี้การทดสอบหน่วยยังช่วยปรับปรุงคุณภาพของรหัสของคุณ
ช่วยค้นหาข้อบกพร่องของซอฟต์แวร์ในช่วงต้น
เนื่องจากการทดสอบหน่วยดำเนินการโดยนักพัฒนาที่ทำการทดสอบแต่ละโค้ดก่อนที่จะรวมปัญหาจึงสามารถพบได้ในขั้นตอนการทดสอบซอฟต์แวร์ในช่วงต้น สามารถแก้ไขได้จากนั้นและตรงนั้นโดยไม่ส่งผลกระทบต่อส่วนอื่น ๆ ของโค้ด ข้อดีของการตรวจพบข้อผิดพลาดตั้งแต่เนิ่นๆคือคุณสามารถลดความเสี่ยงในการพัฒนาและหลีกเลี่ยงการใช้เงินและเวลามากเกินไป
จัดเตรียมเอกสาร
ส่งผ่านค่าใน java
ในการทดสอบเอกสารโค้ดมักถูกละเลยเนื่องจากต้องใช้เวลามาก แต่การทดสอบหน่วยทำให้การจัดทำเอกสารง่ายขึ้นเล็กน้อยโดยการส่งเสริมแนวทางปฏิบัติในการเขียนโค้ดที่ดีขึ้นและทิ้งโค้ดที่อธิบายถึงสิ่งที่ผลิตภัณฑ์ของคุณกำลังทำอยู่
การแก้ไขจุดบกพร่องทำได้ง่ายขึ้น
การทดสอบหน่วยทำให้กระบวนการดีบักง่ายขึ้น เมื่อการทดสอบล้มเหลวจำเป็นต้องแก้ไขข้อบกพร่องเฉพาะการเปลี่ยนแปลงล่าสุดที่ทำในโค้ด ในระดับที่สูงขึ้นของการเปลี่ยนแปลงการทดสอบที่ทำในช่วงหลายวันหรือหลายสัปดาห์หรือหลายเดือนจะต้องได้รับการสแกน
ลดต้นทุนการทดสอบ
เนื่องจากพบข้อบกพร่องในช่วงต้นค่าใช้จ่ายในการแก้ไขข้อบกพร่องคือลดลงไปบ้าง จะมีค่าใช้จ่ายมากขึ้นหากพบข้อบกพร่องในช่วงหลังของการพัฒนา คุณจะต้องแก้ไขรหัสทั้งหมดของโครงการของคุณ ฟังดูน่าเบื่อและเสียเงินจริงๆ ดังนั้นการทดสอบหน่วยจึงช่วยประหยัดเวลาและเงินอันมีค่าได้เช่นกัน
ไปเลย! ฉันหวังว่าคุณจะมั่นใจว่าทำไมการทดสอบหน่วยจึงมีความสำคัญ ในขั้นต่อไปเรามาดูการสาธิตวิธีเขียนแบบทดสอบหน่วยง่ายๆกัน
การสาธิต: การเขียนแบบทดสอบหน่วยตัวอย่าง
การทดสอบหน่วยต้องการการทดสอบที่ดีควรเป็นดังนี้
- เขียนง่าย
- อ่านได้
- เชื่อถือได้
- เร็วขึ้นและมีประสิทธิภาพ
ข้อกำหนดสำหรับการสาธิต:
- ชุดพัฒนา Java (JDK)
- IDE (ในการสาธิต Eclipse ถูกใช้)
- กรอบการทดสอบหน่วย (ในการสาธิต TestNG ใช้)
เริ่มต้นด้วยการสาธิต ดังนั้นในการสาธิตนี้ฉันมีสองไฟล์:
- ชั้นเรียนคณิตศาสตร์ที่มีฟังก์ชันให้ทดสอบ
- คลาสทดสอบพร้อมวิธีดำเนินการทดสอบ
ดูรหัสด้านล่างเพื่อทำความเข้าใจกรณีทดสอบ เป็นชั้นเรียนคณิตศาสตร์ที่มีสองวิธีคือบวกคูณ
การเปลี่ยนแปลงที่เชื่อมต่อและไม่เชื่อมต่อใน Informatica
คณิตศาสตร์คลาสสุดท้ายสาธารณะ {public static int add (int first, int second) {return first + second} public static int multiply (int multiplicand, int multiplicier) {return multiplicand * ตัวคูณ}}
ถัดไปเรามีคลาสทดสอบพร้อมวิธีทดสอบการทำงานของไฟล์ เพิ่ม() ฟังก์ชันและ คูณ() ฟังก์ชัน
นำเข้า org.testng.annotations.Test นำเข้าแบบคงที่ org.testng.Assert.assertEquals คลาสสาธารณะ MathTests {@Test โมฆะสาธารณะ add_TwoPlusTwo_ReturnsFour () {int คาดสุดท้าย = -4 int จริงขั้นสุดท้าย = Math.add (-2, -3) assertEquals (จริงคาดว่า)} @Test public void multiple_twonumbers_retursvalue () {final int expected = -4 final int actual = Math.multiply (2,2) assertEquals (actual, expected)}}
การทดสอบหน่วย: การตรวจสอบการทำงานของฟังก์ชันเพิ่ม
แสดงความคิดเห็น คูณ() ฟังก์ชันในคลาสคณิตศาสตร์และ multiple_twonumbers_retursvalue () ฟังก์ชันในคลาสทดสอบ จากนั้นกำหนดค่าสำหรับ คาดว่า ตัวแปรและเรียกไฟล์ คูณ() ฟังก์ชั่นกับการป้อนข้อมูลตัวอย่าง (พิจารณาทั้งกรณีบวกและลบ) เมื่อคุณเรียกใช้การทดสอบไฟล์ คาดว่า ค่าจะเปรียบเทียบกับ ปัจจุบัน มูลค่า. หากการทดสอบส่งคืนผลลัพธ์ที่ต้องการแสดงว่า เพิ่ม() ฟังก์ชันทำงานได้อย่างสมบูรณ์ ฉันได้แนบภาพหน้าจอของผลการทดสอบเมื่อไฟล์ คาดว่า ค่าคือ -5 และพารามิเตอร์ส่งผ่านไปยัง เพิ่ม() ฟังก์ชันคือ -2 และ -3
ง่ายๆใช่มั้ย? เราได้ทดสอบหน่วยหรือบางส่วนของโปรแกรมทั้งหมด คุณสามารถทำเช่นเดียวกันกับ คูณ() ฟังก์ชัน จุดประสงค์ของการสาธิตนี้เพื่อให้คุณเข้าใจความหมายของหน่วยในการทดสอบหน่วย ดังนั้นวัตถุประสงค์หลักของที่นี่คือการตรวจสอบการออกแบบภายในและตรรกะภายในเส้นทางภายในของโครงการซอฟต์แวร์เป็นชิ้นเล็ก ๆ กรอบการทดสอบหน่วยที่ฉันใช้ในการสาธิตนี้คือ TestNG มีกรอบการทดสอบหน่วยอื่น ๆ สำหรับภาษาโปรแกรมต่างๆ
กรอบการทดสอบหน่วยที่ดีที่สุด
กรอบการทดสอบหน่วยยอดนิยม ได้แก่ :
- JUnit: เป็นเฟรมเวิร์กโอเพ่นซอร์สสำหรับสภาพแวดล้อมการพัฒนาที่ขับเคลื่อนด้วยการทดสอบซึ่งออกแบบมาโดยเฉพาะสำหรับ .
- หน่วย: เป็นหนึ่งในกรอบการทดสอบหน่วยที่ได้รับความนิยมมากที่สุดสำหรับ C #
- TestNG: ออกแบบมาสำหรับ ภาษาการเขียนโปรแกรมคล้ายกับ JUnit และ NUnit แต่มีฟังก์ชันใหม่ ๆ ที่ทำให้มีประสิทธิภาพและใช้งานง่ายขึ้น
- HtmlUnit: เป็นหนึ่งในเฟรมเวิร์กยอดนิยมสำหรับ . ใช้สำหรับทดสอบเว็บแอปพลิเคชันที่ใช้ภายในเฟรมเวิร์กเช่น JUnit และ TestNG
- Unitest: ได้รับแรงบันดาลใจจากกรอบงาน JUnit กรอบงานนี้สนับสนุนการทดสอบอัตโนมัติและทำหน้าที่เป็นอิสระจากการทดสอบจากสภาพแวดล้อมการรายงาน เป็นหนึ่งในกรอบการทดสอบหน่วยที่ได้รับความนิยมมากที่สุดสำหรับ .
นอกเหนือจากนี้ยังมีกรอบอื่น ๆ อีกมากมาย ด้วยเหตุนี้เราจึงมาถึงจุดสิ้นสุดของบล็อก หวังว่าสิ่งต่างๆที่คุณได้เรียนรู้ที่นี่ในวันนี้จะช่วยคุณได้ในขณะที่คุณออกเดินทางทดสอบซอฟต์แวร์
หากคุณพบสิ่งนี้ บทความที่เกี่ยวข้อง ตรวจสอบไฟล์ ถ่ายทอดสดออนไลน์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบทความนี้แล้วเราจะติดต่อกลับไป