טיפים אוטומטיים לבדיקה ושיטות עבודה מומלצות

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

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

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




ידני לעומת אוטומטי - בדיקה לעומת בדיקה

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

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




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

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

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



תכנן מבחנים לפני שהם אוטומטיים

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

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


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



הסר אי וודאות ממבחנים אוטומטיים

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

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

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


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



סקור בדיקות אוטומטיות לתוקף

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

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

תמיד יש עמית שיעיין בבדיקות האוטומטיות לגבי תקפות ושפיות. וודאו שהבדיקות מעודכנות.




אל תעשה פונקציונליות לא יציבה אוטומטית

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

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

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



אל תצפו לקסם מאוטומציה למבחנים

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


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



אל תסתמך רק על אוטומציה - היזהר מלעבור מבחנים

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

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

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



כוון למשוב מהיר

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

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

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



להבין את ההקשר

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

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

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

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

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



אל תעשה כל בדיקה אוטומטית

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

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

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

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

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



השתמש בטכניקות בדיקה באוטומציה לבדיקה

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



אל תעשו תוהו ובוהו

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

נסה לענות על שאלות כמו, מה לעשות אוטומציה, מתי לבצע אוטומציה , מתי לבצע את הבדיקות האוטומטיות, מי יבצע אוטומציה של הבדיקות, באילו כלים יש להשתמש לאוטומציה של בדיקות וכו '...

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

האם יש לך טיפים לאוטומציה לבדיקה להוסיף לרשימה זו?