מקרי בדיקה הם התנאים שיש לבדוק בעת יצירת התוכנה. לפני כתיבת מקרי מבחן בג'אווה, עלינו להבין מהם מקרי מבחן. חלק זה יכסה מבוא קצר של מקרי מבחן ולאחר מכן כיצד נוכל לכתוב מקרי מבחן Java .
עבור כל כתב דפוס
מהם מקרי מבחן
מקרי בדיקה הם מכלול התנאים הנבדקים על ידי בודק תוכנה עבור האפליקציה שפותחה. הבוחן בודק ומעריך אם התוכנה הבנויה עומדת בכל דרישות הלקוח. אם נמצא באג או שגיאה כלשהי, הבוחן יודיע לצוות הפיתוח. הצורך בבניית מקרי בדיקה וביצוע בדיקות הוא לוודא שכל צרכי הלקוח מתמלאים, ואין באגים בתוכנה.
לדוגמה: עבור מודול כניסה, הבוחן יבדוק את מקרי הבדיקה הבאים:
- ודא שדף הכניסה מורכב משדות טקסט של שם משתמש וסיסמה וכפתור התחברות.
- ודא בכניסה מוצלחת, המשתמש מופנה לדף הבית.
- ודא את ההתחברות המוצלחת של המשתמש על ידי מתן שם משתמש וסיסמה חוקיים.
- אמת את הכניסה הלא מוצלחת של המשתמש על ידי מתן שם משתמש חוקי וסיסמה לא חוקית.
- ודא שהסיסמה של המשתמש נשמרת בצורה מוצפנת במסד הנתונים וכן הלאה.
עם אלה, יכולים להיות לפי מקרי בדיקה שבודק יכול לחשוב עליהם, וכאשר כל מקרי הבדיקה עוברים בהצלחה, אז רק התוכנה הבנויה נמסרת ללקוח.
למידע נוסף על מקרי בדיקה, בקר בכתובת https://www.javatpoint.com/test-case.
כיצד ליצור מקרי בדיקה ב-Java
Java היא שפת תכנות מונחה עצמים, ובניית פרויקט Java פירושה יצירת הרבה מחלקות, שלכל אחת מהן יש שיטות מסוימות. כדי לבנות פרויקט/יישום טוב, עלינו לבדוק את הפרויקט ולבדוק האם האפליקציה עומדת בכל הדרישות. ב-Java, מחלקות ושיטות ממלאות תפקיד חיוני, ולכן עלינו לבדוק את המחלקות והשיטות, אשר יחדיו ידועות כ- יחידה , ומגיע הצורך לבצע את בדיקת יחידה בשבילם. לכן, לביצוע בדיקת יחידות ב-Java, ישנן מספר מסגרות בדיקה. מסגרת מפורסמת כזו היא JUnit שהיא מסגרת לביצוע בדיקות יחידה. על מנת לבצע בדיקות Junit, עלינו ליצור את מקרי הבדיקה ולבדוק את הפרויקט מול כל מקרה בדיקה ולקבוע את התוצאה.
כדי להבין איך יוצרים מקרי מבחן, בואו ניצור מחלקה פשוטה ונבחן אותה.
בואו ניצור כיתה DemoClass ב-Eclipse שבו ביצענו שיטת הוספה פשוטה על ידי ביצוע השלבים הבאים:
1) פתח Eclipse IDE וליצור חדש מייבן פרויקט על ידי לחיצה על קובץ> חדש> אחר... ואז בחר אשף תיפתח תיבת דו-שיח. תַחַת קוסמים , אתה תראה המייבן מאגר, לחץ על התפריט הנפתח, לחץ על פרויקט מייבן , ולאחר מכן לחץ על הַבָּא . תמונת מצב מוצגת להלן:
2) בחר 'צור פרויקט פשוט', או שאתה יכול גם לבחור את הארכיטיפ. כאן, עשינו פרויקט פשוט, אז בחרנו באפשרות 'צור פרויקט פשוט' ולאחר מכן לחץ על הַבָּא, כפי שאתה יכול לראות בתמונת המצב שלהלן:
3) עכשיו, אתה יכול לראות פרויקט מייבן חדש תיפתח תיבת דו-שיח שבה עלינו לספק את מזהה קבוצה ו מזהה חפץ ע'י מעקב:
מזהה קבוצה: זהו השם הייחודי שעוזר בזיהוי קבוצת פרויקט אחת לאחרת. הוא עוקב אחר מוסכמות כלל השמות של Java, ולכן יש לספק אותו כ com.example.javatpoint או כל אחר.
מזהה חפץ: זה השם הייחודי שניתן לפרויקט שאנו הולכים ליצור. לכן, עבור הפרויקט שלנו, סיפקנו את מזהה הקבוצה ומזהה החפץ הבאים (כלומר, שם הפרויקט), כפי שניתן לראות בתמונת המצב שלהלן:
4) לחץ על סיים , ופרויקט Maven שלנו ייווצר עם קבצים מסוימים שבהם הקובץ הראשי הוא xml קובץ הנושא את כל הפרטים של הפרויקט שנוצר.
5) בתוך שם הפרויקט, תראה מאגרים מסוימים, בצע קליק ימני על src/main/java מאגר, לחץ על חדש > כיתה , וליצור א כיתת ג'אווה . הנה, יצרנו java , שבו יישמנו שיטה פשוטה להוספת שני מספרים. הקוד הוא כדלקמן:
public class DemoClass { public int sum(int i, int j) { return i+j; }
קטע הקוד מוצג להלן:
6) כעת, יישמנו מחלקה, והגיע הזמן לבדוק אותה, ולשם כך עלינו להשתמש ג'וניט . אז תעבור ל ה-src/test/java תיקיה ולחץ עליה באמצעות לחצן העכבר הימני. לחץ על חדש > מבחן מבחן ג'וניט .
וצור מקרה מבחן JUnit בהתאם למוסכמות כלל השמות.
לאחר מכן לחץ על סיים . ייווצר מקרה הבדיקה של JUnit. כאן, יצרנו את מקרה המבחן JUnit as TestDemoClass.java , וקיבלנו את מסך הפלט הבא המכסה את הקוד שלהלן:
import static org. junit.Assert.*; import org.junit.Test; public class TestDemoClass { @Test public void test() { fail('Not yet implemented'); } }
קטע הקוד מוצג להלן:
כאן, השתמשנו במבחן New Junit 4. כדי לבדוק מחלקה או שיטה, עלינו להשתמש בהערות הבדיקה, והנה יש לנו @מִבְחָן ביאור לפני ה מבחן () שיטה.
הערה: לקחנו פרויקט לדוגמה שניתן לבדוק באופן ידני, אך כאשר עושים פרויקט גדול, הוא עשוי להיות מורכב ממספר רב של מחלקות עם שיטות רבות. בדיקה ובדיקה של כל אלה ידנית עשויה שלא להיות גמישה, ושינוי במחלקה אחת בהחלט ישפיע על המחלקות האחרות. לפיכך, מגיע התפקיד של בדיקות אוטומציה, כלומר בדיקות Junit.
7) צור אובייקט של DemoClass בתוך ה TestDemoClass ואנחנו צריכים לבדוק את סְכוּם שיטה ולשם כך יצרנו את קוד מקרה המבחן הבא:
public class TestDemoClass { DemoClass obj=new DemoClass(); @Test public void testSum() { assertEquals(25,obj.sum(10, 15)); } }
קטע הקוד מוצג להלן:
8) השימוש ב- assertEquals(expectedVal, calculatedVal) שיטה משמשת לקביעת המצב של מקרה מבחן, בין אם נכשל או עבר. כדי להפעיל/לבצע מקרה בדיקה, לחץ לחיצה ימנית על הקוד ולאחר מכן הפעל בשם > מבחן ג'וניט .
9) ניסינו את מקרי הבדיקה הבאים:
מקרה מבחן 1: יצרנו מקרה מבחן שבו בדקנו אם במתן שני ערכים, אנחנו מקבלים את הסכום המתאים או לא. אם לא, מקרה הבדיקה ייכשל, אבל עבור הערכים שלעיל, קיבלנו את הפלט הבא:
מכאן שמקרה המבחן שלנו עבר בהצלחה, מה שמצוין על ידי ה- ירוק סֵמֶל.
מקרה מבחן 2: אם נעביר את אותו קוד עבור הפרמטרים המחושבים (10, 15) אבל הערך הצפוי כ 100 ויש לנו את הערכים הבאים לבדיקה, אנו מקבלים את מקרה המבחן שלנו נכשל. הקוד הוא כך:
public class TestDemoClass { DemoClass obj=new DemoClass(); @Test public void testSum() { assertEquals(100,obj.sum(10, 15)); } }
קטע הקוד מוצג להלן:
אז נכשלנו במקרה המבחן שלנו, מה שאומר שהקוד שלנו נכון, והוא מסומן על ידי ה אות אדום, כפי שאתה יכול לראות בקטע הבא:
מקרה מבחן 3: אם נעביר ערך שלילי וערך חיובי עבור הפרמטרים המחושבים כ (-5, 8), וערך הפרמטר הצפוי כ 3 , אנו מעבירים את מקרה המבחן שלנו בהצלחה, כפי שניתן לראות בקטע הבא:
עם זאת, אם נעבור (5, -8) כערך מחושב וערך צפוי כ-3, מקרה המבחן ייכשל בהחלט.
מקרה מבחן 4: אם נעביר את שני הערכים השליליים עבור הפרמטר המחושב כ (-10,-15) וערך הפרמטר הצפוי כ -25 , נעבור את מקרה המבחן שלנו, כפי שניתן לראות בקטע הבא:
עם זאת, אם נעבור את הערך הצפוי כ-25, מקרה המבחן בהחלט ייכשל. בוא נראה בקטע הבא:
בדרך זו, אנו יכולים לחשוב וליצור את מקרי המבחן בהתאם ליכולת החשיבה, השיפוט והבדיקה שלנו. מלבד הדוגמה שהוסברה לעיל, בודק תוכנה עובד עם יישומים גדולים מאוד כדי לבדוק אותם וליצור מקרי בדיקה מסוימים ולבדוק אותם. כדי לתעד את כל מקרי הבדיקה, הם עושים שימוש בגיליון האקסל ובודקים אם מקרי הבדיקה שנוצרו עומדים בדרישות הלקוח או שיש להם באגים. בודק תוכנה יוצר וכותב את מקרי הבדיקה על ידי חשיבה עצמית כמשתמש רגיל, וכך בוחן את האפליקציה/תוכנה.