מהי בדיקת יחידות? כל מה שאתה צריך לדעת על בדיקת יחידות



מאמר זה עוזר לך ללמוד מהי בדיקות יחידות ולמה חשוב לבנות תוכנה לבדיקות יחידות לפני סוגים אחרים של בדיקות.

המטרה העיקרית של כל פרויקט תוכנה היא להשיג תפוקה איכותית תוך הפחתת העלות והזמן הנדרש להשלמת הפרויקט. כדי להשיג שחברות כפופות למוצר תוכנה בעיקר לארבע רמות בדיקה. בדיקת יחידות היא הרמה הראשונה של בדיקות בבדיקת תוכנה. לאורך מאמר זה נבדוק מהו מבחן היחידה בפירוט. אם אתה חדש בבדיקות תוכנה, הקפד לקרוא גם את .

בואו נסתכל על הנושאים המכוסים במאמר זה:





רמות בדיקת תוכנה

הוא שלב בתוך מחזור פיתוח התוכנה בו מאומתת תוכנה קריטית לעסק, לתקינות, לאיכות ולביצועים.

ישנן ארבע רמות בסיסיות בבדיקת תוכנה, שכל אחת מהן בוחנת את פונקציונליות התוכנה מנקודת תצפית ייחודית בתהליך הפיתוח. ארבע הרמות של בדיקות תוכנה הן כמוצג בתמונה למטה.



רמות בדיקת תוכנה - מהי בדיקת יחידות? אדוריקה

איך להפיל כפול ל- int בג'אווה

מאמר זה מסביר בפירוט את בדיקות היחידות, הרמה הראשונה של בדיקות תוכנה.

מהי בדיקת יחידות?

בדיקת יחידות היא דרך לבחון את פיסת הקוד הקטנה ביותר המכונה a יחידה שניתן לבודד באופן הגיוני במערכת. הוא מתמקד בעיקר בנכונות התפקודית של מודולים עצמאיים.



יחידה יכולה להיות כמעט כל מה שתרצה שתהיה - חתיכת פונקציונליות ספציפית, תוכנית או שיטה מסוימת ביישום. היחידה קטנה יותר, עדיף שהיא תהיה. בדיקות קטנות יותר בדרך כלל נותנות לך מבט הרבה יותר מפורט על הייצור שלך, הקוד מבצע. כמו כן, המבחנים שלך יכולים לרוץ מהר יותר אם הם קטנים. אז זה גם מיקרו-רמה של בדיקות תוכנה.

כיצד מבצעים בדיקות יחידה?

המטרה של בדיקת יחידות להפריד כל חלק בתוכנית ולבדוק שהחלקים האישיים עובדים כראוי וכמתוכנן. בעת ביצוע בדיקות יחידה, פונקציות קוד היישום מבוצעות בסביבת בדיקה עם קלט לדוגמא. לאחר מכן משווים את התפוקה המתקבלת עם התפוקה הצפויה עבור אותה קלט. אם הם תואמים את המבחן עובר. אם לא זה כישלון. מבחני היחידה נהדרים לאישור נכונות הקוד. בואו נסתכל על אלגוריתם לדוגמא שממחיש את הרעיון.

כפי שאתה יכול לראות, ביצוע בדיקת היחידה הוא די פשוט. אתה כותב חלק מהקוד ומציב אותו לבדיקה. אם הבדיקה עוברת אז אתה מוסיף אותה לחבילת הבדיקה שלך ובודק את החלק הבא של הקוד. אחרת, אתה מבצע את השינויים הדרושים ובוחן אותו שוב. חזור על התהליך עד שכל יחידות התוכנה נבדקות.סוג זה של בדיקות בסיסיות מציע הרבה יתרונות כמולמצוא באגים תוכנה מוקדם, לפשט את האינטגרציה, לספק מקור , ורבים אחרים.

מהם היתרונות של בדיקת יחידות?

עריכת מבחני רגרסיה, מועילה לחברות במספר דרכים כגון:

עושה קידוד זריז

בדיקות יחידות מזרזות את תהליך הקידוד. כשאתה מוסיף תכונות חדשות ליישום שלך, לפעמים תצטרך לשנות את העיצוב והקוד של מוצר התוכנה שלך. עם זאת, שינוי קוד שנבדק כבר עולה יותר מדי כסף ומאמץ. אבל עם בדיקות יחידה, אתה יכול פשוט לבדוק את פיסת הקוד החדשה שנוספה במקום לבדוק את התוכנית כולה. כמו כן, בדיקות יחידות משפרות את איכות הקוד שלך.

עוזר במציאת באגים בתוכנה בשלב מוקדם

מאחר שבדיקות יחידה מתבצעות על ידי מפתחים שבודקים קוד בודד לפני האינטגרציה, ניתן למצוא בעיות מוקדם מאוד בתהליך בדיקת התוכנה. ניתן לפתור אותם שם ושם מבלי להשפיע על חלקי הקוד האחרים. היתרון של גילוי שגיאות בשלב מוקדם הוא שניתן למזער את סיכוני הפיתוח ולהימנע מלהוציא יותר מדי כסף וזמן.

מה זה מפתח בלוקצ'יין

מספק תיעוד

בבדיקה, תיעוד קוד מוזנח לעיתים קרובות מכיוון שהוא דורש זמן רב. אך בדיקות היחידות מקלות על התיעוד על ידי עידוד שיטות קידוד טובות יותר ומשאירות מאחור פיסות קוד המתארות מה המוצר שלך עושה.

ניפוי באגים נעשה קל יותר

בדיקות יחידה מפשטות את תהליך איתור באגים. כשמבחן נכשל, צריך לבצע ניפוי באגים רק על השינויים האחרונים שבוצעו בקוד. ברמות גבוהות יותר של בדיקות יש לסרוק שינויים שנעשו לאורך מספר ימים או שבועות או חודשים.

מפחית עלויות בדיקה

מכיוון שהבאגים נמצאים מוקדם, העלות של תיקוני באגים היאמופחת במידה מסוימת. זה יעלה הרבה יותר אם יתגלה באג בשלבי הפיתוח המאוחרים יותר. יהיה עליך לשנות את כל הקוד של הפרויקט שלך. זה נשמע ממש מעייף ובזבוז כסף. כך שביצוע בדיקות יחידות חוסך זמן יקר וכסף גם כן.

הנה לך! אני מקווה שאתה משוכנע מדוע בדיקת יחידות חשובה. בהמשך, בואו לבדוק הדגמה פשוטה כיצד לכתוב מבחני יחידות.

הדגמה: כתיבת מבחן יחידה לדוגמא

בדיקת יחידות דורשת כי בדיקה טובה צריכה להיות:

  • קל לכתוב
  • קָרִיא
  • אָמִין
  • מהיר ויעיל יותר

דרישות להדגמה:

  • ערכת פיתוח ג'אווה (JDK)
  • IDE (בהדגמה זו משתמשים בליקוי החמה)
  • מסגרת בדיקת יחידות (בהדגמה זו משתמשים ב- TestNG)

בואו נתחיל עם ההדגמה. אז, בהדגמה זו, יש לי שני קבצים:

  • שיעור מתמטיקה עם פונקציה לבדיקה
  • שיעור מבחן עם שיטות לביצוע בדיקות

התבונן בקוד שלמטה כדי להבין את מקרה הבדיקה. זה שיעור מתמטיקה עם שתי שיטות: להוסיף, להכפיל.

כיתת גמר ציבורית מתמטיקה {ציבורי סטטי int להוסיף (int ראשון, int שנייה) {להחזיר ראשון + שני} להכפיל סטטי ציבורי int (int multiplicand, int multiplier) {return multiplicand * multiplier}}

בשלב הבא יש לנו שיעור מבחן עם שיטות לבדיקת הפונקציונליות של לְהוֹסִיף() פונקציה ו לְהַכפִּיל() פוּנקצִיָה.

יבוא org.testng.annotations.Test ייבוא ​​org.testng.Assert.assertEquals בכיתה ציבורית MathTests {@Test ציבור בטל add_TwoPlusTwo_ReturnsFour () {final int צפוי = -4 final int בפועל = Math.add (-2, -3) assertEquals (בפועל, צפוי)} @Test הציבור בטל multiple_twonumbers_retursvalue () {final int צפוי = -4 final int בפועל = Math.multiply (2,2) assertEquals (בפועל, צפוי)}}

מבחן יחידה: בדיקת פונקציונליות של פונקציית הוספה

תגובה לְהַכפִּיל() לתפקד בשיעור מתמטיקה ו multiple_twonumbers_retursvalue () פונקציה בכיתת מבחן. ואז הקצה ערך עבור ה- צָפוּי משתנה וקרא לְהַכפִּיל() לתפקד עם קלט לדוגמא (שקול מקרים חיוביים ושליליים). כשאתה מבצע את המבחן, ה- צָפוּי ערך מושווה ל נוֹכְחִי ערך. אם הבדיקה מחזירה את התוצאות המיועדות, המשמעות היא לְהוֹסִיף() הפונקציה עובדת בצורה מושלמת. צירפתי צילום מסך של תוצאות הבדיקה כאשר ה- צָפוּי הערך הוא -5 והפרמטרים הועברו ל לְהוֹסִיף() הפונקציה הם -2 ו- -3.

פשוט נכון? בדקנו יחידה או חלק מהתוכנית כולה. אתה יכול לעשות את אותו הדבר עם לְהַכפִּיל() פוּנקצִיָה. מטרת ההדגמה הזו הייתה לגרום לך להבין מה משמעות יחידה בבדיקת יחידות. לכן, המטרה העיקרית של כאן היא לאמת את העיצוב הפנימי ואת ההיגיון הפנימי, את הנתיבים הפנימיים של פרויקט התוכנה בנתחים קטנים. מסגרת בדיקות היחידות בה השתמשתי בהדגמה זו היא TestNG. ישנן מסגרות אחרות לבדיקת יחידות עבור שפות תכנות שונות.

מסגרות בדיקת היחידות הטובות ביותר

חלק ממסגרות בדיקות היחידות הפופולריות הן:

מהי עומס יתר על השיטה ודרגת שיטה
  • JUnit: זוהי מסגרת קוד פתוח לסביבת פיתוח מונחית-מבחן, שתוכננה במיוחד עבור .
  • NUnit: זו אחת ממסגרות הפופולריות ביותר לבדיקת יחידות עבור C #.
  • TestNG: תוכנן עבור בשפת תכנות, הוא דומה ל- JUnit ו- NUnit אך מציע כמה פונקציות חדשות שהופכות אותו לחזק יותר וקל יותר לשימוש.
  • HtmlUnit: זו אחת המסגרות הפופולריות ביותר עבור . הוא משמש לבדיקת יישומי אינטרנט המשמשים במסגרות כמו JUnit ו- TestNG.
  • Unitest: בהשראת מסגרת JUnit, מסגרת זו תומכת באוטומציה של בדיקות ופועלת ללא תלות בבדיקות מסביבת הדיווח. זו אחת המסגרות הפופולריות ביותר לבדיקת יחידות .

מלבד אלה, יש הרבה מסגרות אחרות. בכך הגענו לסוף הבלוג. מקווה שהדברים שלמדת כאן היום יעזרו לך כשאתה יוצא למסע בדיקת התוכנה שלך.

אם מצאת זאת מאמר רלוונטי, לבדוק את בשידור חי באינטרנט מאת אדוריקה, חברת למידה מקוונת מהימנה עם רשת של יותר מ -250,000 לומדים מרוצים הפרוסים ברחבי העולם.

יש לך שאלה עבורנו? אנא הזכיר זאת בסעיף ההערות במאמר זה ונחזור אליך.