เริ่มต้นใช้งานการทดสอบ การดีบัก และการจัดการข้อยกเว้น
- 7 นาที
นักพัฒนาซอฟต์แวร์ทุกคนจําเป็นต้องทําการทดสอบและการดีบักในระดับหนึ่งให้เสร็จสมบูรณ์เมื่อพัฒนาโค้ดและมักต้องมีการจัดการข้อยกเว้น แต่งานสามอย่างนี้เกี่ยวข้องกันอย่างไร และควรมีการใช้งานเมื่อใด
การทดสอบ การดีบัก และการจัดการข้อยกเว้น
การดีบักโค้ดมีความเกี่ยวข้องกับการพัฒนาโค้ดและการทดสอบอย่างชัดเจน ท้ายที่สุดคุณจะทําการแก้ไขตรรกะโค้ดของคุณในขณะที่คุณพัฒนาแอปพลิเคชันของคุณและคุณยังเรียกใช้รหัสของคุณเป็นระยะ ๆ เพื่อตรวจสอบว่าไวยากรณ์โค้ดและตรรกะของคุณถูกต้อง แต่การอัปเดตตรรกะโค้ดในระหว่างกระบวนการพัฒนาคืออะไรที่มีความหมายโดยการดีบัก? และกําลังตรวจสอบว่าโค้ดของคุณสร้างและเรียกใช้สิ่งที่หมายถึงการทดสอบจริง ๆ หรือไม่ ไม่ ไม่ค่อยนะ
การจัดการข้อยกเว้นเกี่ยวข้องกับการพัฒนาและการทดสอบโค้ดอย่างไร อันที่จริงแล้ว "การจัดการข้อยกเว้น" หมายถึงอะไรและนักพัฒนาคาดว่าจะทํามัน? ในการพัฒนา C# ข้อผิดพลาดที่เกิดขึ้นในระหว่างรันไทม์แอปพลิเคชัน (เทียบกับข้อผิดพลาดในการสร้างที่เกิดขึ้นระหว่างกระบวนการสร้าง) จะเรียกว่า ข้อยกเว้น และ "การจัดการข้อยกเว้น" คือกระบวนการที่นักพัฒนาใช้เพื่อจัดการข้อยกเว้นรันไทม์เหล่านั้นภายในโค้ดของพวกเขา
คุณอาจสงสัยว่าการจัดการข้อยกเว้นเกี่ยวข้องกับการพัฒนาและการทดสอบรหัสอย่างไร อันที่จริงแล้ว "การจัดการข้อยกเว้น" หมายถึงอะไรและนักพัฒนาคาดว่าจะทํามัน? ในการพัฒนา C# ข้อผิดพลาดที่เกิดขึ้นในขณะที่แอปพลิเคชันกําลังทํางานจะเรียกว่าข้อยกเว้น คําว่า "การจัดการข้อยกเว้น" หมายถึงกระบวนการที่นักพัฒนาใช้ในการจัดการข้อยกเว้นรันไทม์เหล่านั้นภายในรหัสของพวกเขา ข้อผิดพลาดที่เกิดขึ้นในระหว่างกระบวนการสร้างเรียกว่าข้อผิดพลาด และไม่ใช่ส่วนหนึ่งของกระบวนการจัดการข้อยกเว้น
ส่วนต่อไปนี้อธิบายบทบาทของนักพัฒนาในการทดสอบ การดีบัก และการจัดการข้อยกเว้น
การทดสอบซอฟต์แวร์และความรับผิดชอบของนักพัฒนา
กระบวนการพัฒนาซอฟต์แวร์อาจเกี่ยวข้องกับการทดสอบจํานวนมาก ในความเป็นจริงการทดสอบซอฟต์แวร์มีวินัยเฉพาะของตนเองและผู้ทดสอบซอฟต์แวร์มีบทบาทสําคัญในการพัฒนาแอปพลิเคชันขนาดใหญ่ มีแม้แต่วิธีการพัฒนาซอฟต์แวร์ที่ยึดตามการทดสอบ เช่น การพัฒนาที่ขับเคลื่อนด้วยการทดสอบ
ประเภทการทดสอบซอฟต์แวร์สามารถจัดระเบียบภายใต้ชนิดของการทดสอบวิธีการทดสอบหรือการรวมกันของทั้งสองอย่าง วิธีหนึ่งในการจัดประเภทประเภทของการทดสอบคือการแยกการทดสอบออกเป็นการทดสอบฟังก์ชันและการทดสอบที่ไม่ทํางาน แต่ละประเภทฟังก์ชันการทํางานและไม่มีหน้าที่ประกอบด้วยประเภทย่อยของการทดสอบ ตัวอย่างเช่น การทดสอบการทํางานและความผิดปกติสามารถแบ่งออกเป็นประเภทย่อยต่อไปนี้:
- การทดสอบฟังก์ชันการทํางาน - การทดสอบหน่วย - การทดสอบการรวม - การทดสอบระบบ - การทดสอบการยอมรับ
- การทดสอบการทํางานที่ไม่ทํางาน - การทดสอบความปลอดภัย - การทดสอบประสิทธิภาพ - การทดสอบความสามารถในการใช้งาน - การทดสอบความเข้ากันได้
แม้ว่านักพัฒนาส่วนใหญ่อาจไม่ได้คิดว่าตัวเองเป็นนักทดสอบ แต่คาดว่าการทดสอบบางระดับก่อนที่นักพัฒนาจะออกจากงาน เมื่อนักพัฒนาได้รับมอบหมายบทบาทอย่างเป็นทางการในกระบวนการทดสอบ บ่อยครั้งที่ระดับการทดสอบหน่วย
หมายเหตุ
เนื่องจากการทดสอบซอฟต์แวร์เป็นหัวข้อขนาดใหญ่และเนื่องจากมักดําเนินการโดยบทบาทงานแยกต่างหากวิธีการอย่างเป็นทางการในการทดสอบซอฟต์แวร์จะไม่กล่าวถึงในโมดูลนี้
การดีบักโค้ดและความรับผิดชอบของนักพัฒนา
การดีบักโค้ดคือกระบวนการที่นักพัฒนาใช้เพื่อแยกปัญหาและระบุวิธีแก้ไขปัญหาอย่างน้อยหนึ่งวิธี ปัญหาอาจเกี่ยวข้องกับตรรกะของโค้ดหรือข้อยกเว้นอย่างใดอย่างหนึ่ง ไม่ว่าจะด้วยวิธีใด คุณทํางานเกี่ยวกับการดีบักโค้ดของคุณเมื่อไม่ได้ทํางานตามที่คุณต้องการ โดยทั่วไปแล้ว คําว่า การดีบัก สงวนไว้สําหรับปัญหารันไทม์ที่ไม่ง่ายที่จะแยกได้ ดังนั้น การแก้ไขปัญหาไวยากรณ์ เช่น ไม่มี ";" ที่ส่วนท้ายของคําสั่งโค้ด โดยปกติแล้วจะไม่ถือว่าเป็นการดีบัก
พิจารณาโค้ดตัวอย่างต่อไปนี้:
string[] students = new string[] {"Sophia", "Nicolas", "Zahirah", "Jeong"};
int studentCount = students.Length;
Console.WriteLine("The final name is: " + students[studentCount]);
ตัวอย่างโค้ดมีจุดมุ่งหมายเพื่อให้บรรลุดังต่อไปนี้:
- ตรวจนับอาร์เรย์สตริงที่ชื่อว่า
studentsอาร์เรย์studentsมีชื่อของนักเรียน - ตรวจนับจํานวนเต็มที่ชื่อว่า
studentCountรหัส จะใช้Lengthวิธีการ ของอาร์เรย์ เพื่อกําหนดค่า เป็นstudentCount - พิมพ์ชื่อของนักเรียนคนสุดท้ายไปยังคอนโซล รหัสใช้
studentCountเพื่อเข้าถึงชื่อสุดท้ายในstudentsอาร์เรย์ และใช้Console.WriteLine()วิธีการ เพื่อพิมพ์ข้อมูลไปยังคอนโซล
เมื่อมองแวบแรกทุกอย่างดูเรียบร้อยดี อย่างไรก็ตาม รหัสนี้จะสร้างข้อยกเว้นเมื่อพยายามพิมพ์ชื่อนักเรียนไปยังคอนโซล นักพัฒนาลืมว่าอาร์เรย์นั้นยึดตามศูนย์ ชื่อสุดท้ายในอาร์เรย์ ควรเข้าถึงได้โดยใช้students[studentCount - 1]
การดีบักโค้ดเป็นความรับผิดชอบของนักพัฒนาอย่างแน่นอน ในตัวอย่างรหัสนี้ คุณอาจรับรู้ปัญหาได้ทันที อย่างไรก็ตาม ในสถานการณ์การเขียนโค้ดที่ซับซ้อนมากขึ้น การค้นหาปัญหาไม่ใช่เรื่องง่ายเสมอไป ไม่ต้องกังวล มีเครื่องมือและวิธีการที่คุณสามารถใช้เพื่อติดตามปัญหาที่หายาก
การจัดการข้อยกเว้นและความรับผิดชอบของนักพัฒนา
เมื่อคุณอ่านก่อนหน้านี้ ข้อผิดพลาดที่เกิดขึ้นระหว่างรันไทม์ของแอปพลิเคชันจะเรียกว่าข้อยกเว้น ถ้าแอปพลิเคชันสร้างข้อยกเว้น และไม่มีการจัดการข้อยกเว้นนั้นในโค้ด อาจส่งผลให้แอปพลิเคชันถูกปิด
การจัดการข้อยกเว้นเป็นความรับผิดชอบของนักพัฒนาอย่างแน่นอน C# เป็นวิธีที่คุณสามารถ "ลอง" โค้ดที่คุณรู้จักอาจสร้างข้อยกเว้น และเป็นวิธีที่คุณสามารถ "ตรวจจับ" ข้อยกเว้นใด ๆ ที่เกิดขึ้นได้
สรุป
นี่คือสิ่งสําคัญบางอย่างที่ต้องจําจากหน่วยนี้:
- การทดสอบ การดีบัก และการจัดการข้อยกเว้นเป็นงานที่สําคัญทั้งหมดสําหรับนักพัฒนาซอฟต์แวร์
- การทดสอบสามารถแบ่งออกเป็นการทดสอบการทํางานและไม่ทํางานและนักพัฒนาคาดว่าจะทําการทดสอบบางระดับ
- การดีบักโค้ดคือกระบวนการแยกปัญหาและระบุวิธีแก้ไขปัญหาและเป็นความรับผิดชอบของนักพัฒนา
- การจัดการข้อยกเว้นคือกระบวนการจัดการข้อผิดพลาดที่เกิดขึ้นระหว่างรันไทม์ และนักพัฒนาเป็นผู้รับผิดชอบในการจัดการข้อยกเว้นโดยใช้คําสั่ง "ลอง" และ "ตรวจจับ" ในโค้ดของพวกเขา
ตรวจสอบความรู้ของคุณ
คำติชม
หน้านี้มีประโยชน์หรือไม่
ไม่
ต้องการความช่วยเหลือในหัวข้อนี้หรือไม่
ต้องการลองใช้ Ask Learn เพื่อทําให้ชัดเจนหรือแนะนําคุณผ่านหัวข้อนี้หรือไม่