LOGIN
התחברות או הרשמה
Avatar
להמשך הרשמה ידנית – לחץ על כפתור ההרשמה, להרשמה/כניסה מהירה בעזרת חשבון רשת חברתית – לחץ על הלוגו בכותרת

אפס סיסמה - שכחתי את שם המשתמש

שם משתמש
סיסמה
זכור אותי

he icon   en icon

בדיקות אוטומציה

נכתב על ידי 
ראשון, 20 אוקטובר 2013 19:53
דרגו כתבה זו
(4 הצבעות)

בדיקות אוטומציה

לבדיקות אוטומציה יתרונות רבים כאשר מיישמים אותן בצורה יעילה כחלק מחיי תהליך הבדיקה , האוטומציה לרוב תתבצע באמצעות כלים חיצוניים (Selenium , Test Complete,QTP … ) או ככלי שפותח בארגון עצמו וזאת בכדי לענות על צרכים ספציפיים של המוצר הנבדק.

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

יש לזכור שבודק התוכנה יבצע מספר רב של סוגי בדיקות ידניות (GUI , Usability , Performance and more..) אשר יעזרו לו למצוא באגים במערכת (זאת במסגרת שלבי הבדיקה  (Sanity , Regression …)) חלק מהבדיקות יהיו רלוונטיות לאוטומציה וחלקן לא, הטבלה הבאה תראה מספר דוגמאות אשר יעזרו לכם לקבוע מתי להעזר באוטומציה ומתי עדיף להישאר בתחום הבדיקות הידניות.

מקרי בדיקה למימוש אוטומטי

מקרי בדיקה  למימוש ידני

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

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

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

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

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

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

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

כאשר מדובר בפרויקט חדש שאינו יציב

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

בדיקות חקר (Exploratory) לרעיונות שעולים תוך כדי בדיקה.

 

 

כמו שאני רואה את הדבר , אוטומציה נוצרת בכדי ל-'שרת' את הבודק ולעזור לו בהורדת הסיכון של קיומם של באגים בתוכנה הנבדקת ובנוסף תומנת בתוכה יתרונות רבים אשר ביניהם ניתן למנות :

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

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

יכולת לדווח בצורה יעילה וברורה על קיומן של תקלות - הדיווח יכול להיות בזמן אמת (מייל) או לאחר סיום הריצה (Mail , Log..).

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

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

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

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

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

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

אוטומציה - מחזור החיים

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

שלב 1 :הבנת הצורך ובחירת האוטומציה הרלוונטית :

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

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

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

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

שלב 2 :יצירת מסמכי איפיון :

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

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

שלב 3 : בחירת כלי האוטומציה :

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

שלב 4 : העברת תוכנית הבדיקות לצוות האוטומציה

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

צוות האוטומציה יעסוק ב-2 נקודות עיקריות :

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

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

שלב 5 : סגירת קצוות לפני תחילת הפיתוח

בשלב זה לאחר שניתנו זמני הפיתוח יושבים 2 הצוותים (QA & R&D) וסוגרים את כל הנושאים שנשארו פתוחים, דוגמאות לנושאים אלו :

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

שלב 6 : תחילת פיתוח או רכישת מוצר

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

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

יכולת זו מתקבלת ע"י שילוב בודקים ידניים בעלי היכרות עם תוכנה, ו/או שימוש בכלים המאפשרים כתיבת אוטומציה בצורה קרובה ככול הניתן לשפת אדם – לדוגמא שיטות  KDT – Keyword Driven Testing  למיניהן.

שלב 7 : פגישות שבועיות לליווי תהליך הפיתוח

שלב זה יכול לכלול מגוון נושאים :

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

הערה!

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

שלב 8 : הרצה מלאה של אוטומציות

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

שונה לאחרונה ב שלישי, 16 פברואר 2016 06:28

חובה להיות משתמש רשום במערכת בכדי להגיב - ההרשמה/כניסה בכותרת האתר

חדשות מעולם הבדיקות

  • EuroSTAR Testing Conference Prague 2019

    EuroSTAR Testing Conference Prague 2019 A few weeks ago I spoke at the EuroSTAR software testing conference in Prague. The conference had one and a half days of tutorials, followed by two and a half days of talks. Around a thousand people attended. I was impressed by the sense of community and by the number of activities offered. For climate reasons, I chose to travel there and back by train instead of flying. Impressions The conference started off with a day and a half of tutorials. On the Monday I attended Michael Bolton‘s session on using risk to guide testing. I really liked the holistic perspective on testing and the emphasis on tacit knowledge. The group exercises were very good, and reminded me of the idea-generating power of groups. On the Tuesday I picked up a lot of good testing ideas from Henrik Emilsson and Rikard Edgren from Nordic Medtest. Of the keynotes, I really enjoyed Fiona Charles‘ talk with numerous examples of problematic and unethical use of technology. It was also fascinating to listen to Alexandre Bauduin speaking about how the flight simulator for the Boeing 777 is tested. For all the keynotes, slido was used to allow the audience to ask questions. The highest voted questions were then answered by the presenter. For the most part, this way of doing a Q&A worked quite well. Of the talks, I liked Andrew Brown’s presentation on the endowment effect as an explanation of why we keep some tests that should really be deleted. It was[…]

    8.12.2019 | 6:45 קרא עוד...
  • LearnAutomation Has an App!

    This post is only about a month or two late! But if you are a frequent visitor or even if you’re visiting for the first time and enjoying the content, then there is now an app for your phone or tablet that gives you easy access to the site’s content. For now, it is an iOS only app, but I’m nearing the completion of the Android version so expect that shortly. The app allows you to sort and favourite articles to give you quick access to the articles that help you the most. There are also a number of new features coming in the next couple of updates, including tests for you to check your knowledge on what you’ve read to help make sure it’s sinking in, the video content I’ve been promising (yes, it’s actually done!) and downloadable cheat sheets for many of the languages or frameworks you’ve seen on this site. If you have any feedback about the app, please do get in touch. I’m always looking to make it better so if there’s something you’d like to see, I’m happy to hear your opnion. The post LearnAutomation Has an App! appeared first on Learn Automation.

    8.12.2019 | 5:52 קרא עוד...
  • React Day Berlin 2019 Sketchnotes

    I have already attended a conference organized by GitNation, the JSNation of this year. While being there I’ve learned that they also organize some React conferences. As I wanted to broaden my horizon a little, I decided to attend the React Day Berlin 2019. It was a conference with around 800 attendees about topics related to React. I’ve sketched the talks of the first part of day and would love to share the sketchnotes with you: The Past, Present and Future of CSS-in-JS Max Stoiber Compassion-Driven Development: Building Accessible React UI Tae’lur Alexis Performance anxiety with React Jessica Leach Decentralized … Der Beitrag React Day Berlin 2019 Sketchnotes erschien zuerst auf Katjasays.

    8.12.2019 | 4:51 קרא עוד...

טיפים

לרשימה המלאה >>