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

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

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

he icon   en icon

איך לכתוב בדיקות שישמשו אתכם גם בעתיד?

נכתב על ידי 
שני, 24 יוני 2013 07:44
דרגו כתבה זו
(3 הצבעות)

איך לכתוב בדיקות שישמשו אתכם גם בעתיד?

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

  1. הכי חשוב "מטרת הבדיקה" ו"מטרת סט הצעדים" -  >לפני< שאתם משקיעים זמן רב בתיאור מפורט של הבדיקה, ושל הפעולות שצריך לבצע בכל סט צעדים – כתבו את מטרת הבדיקה, באופן שיאפשר לבא אחריכם (או לכם בעוד מס' חודשים או שנים) להבין "למה התכוון המשורר"?
    מה אתם מתכוונים לבדוק?, כיצד אתם תוקפים זאת?, מדוע דווקא כך?, שיקולים נוספים?, מגבלות והתניות שצריך לשים אליהן לב.
  2. כאשר הבדיקה כוללת מס' רב של צעדים – ו/או הבדיקה מורכבת ממס' תת-מטרות שונות – הקפידו לכתוב לפני כל סט-צעדים את מטרתו באופן דומה ל#1 מעל.
  3. הקפידו להדגיש את מבנה הבדיקה וה"זרימה" הפנימית בבדיקה – לפני כל סט צעדים ציינו בהבלטה (Bold) כותרת קצרה וממצה המציגה את מטרתו, לעיתים כדאי אפילו להבליט חלק מן הטקסט הרלוונטי מתוך תיאור הצעד, המתאר מהי מטרת אותו הצעד.
  4. לעיתים קרובות "מרוב עצים לא רואים את היער" – ולכן אם נצלול מהר מדיי לתיאור מפורט של הבדיקה, נאבד את התמונה הכללית.
    לכן נכתוב תחילה את שלד הבדיקה, ורק אח"כ (במידת הצורך) נרחיב לצעדים מפורטים ותוצאות צפויות.
  5. מבט על – קצר יחסית זה – יאפשר גם לקבל משוב יעיל על הבדיקה בתהליכי ה"בקרה" (Review) – שהרי לעמיתינו אין זמן להתעמק במסמך בן מאות עמודים – ולכן עדיף אם נשלח להם עותק עם פירוט מטרות אך לא צעדים,
    עותק זה גם יכול להיות מוכן לפחות כשבוע לפני העותק המפורט הדורש השקעה נוספת ניכרת – כך שהרווחנו פעמיים – וגם יקל עלינו לבצע השינויים שנובעים מהמשוב, על שלד מסמך מאשר על מסמך מפורט (פחות עבודה חוזרת – ReWork)
  6. כאשר הצוות המבצע הנו מנוסה – עדיף לעיתים לא לפרט יתר על המידה – זה גורם למעקב עיוור אחר צעדי הבדיקה, מבלי שהבודק נפתח ומפעיל שיקול דעת נוסף (אשר יאפשר לו להביא מניסיונו ולזהות חסרים אפשריים בבדיקה המקורית)
    הניסיון מראה כי חזרה על אותן הנחיות (או הנחיות דומות מאוד) שוב ושוב – רק מביאה לכך שהמבצע מפסיק לקרוא ולשים לב לפרטים.
  7. מאידך – רצוי מדיי פעם לפרט את צעדי הבדיקה, על-מנת לוודא כי הבדיקה ישימה, לזהות אילו כלי עזר נדרשים, דבר שגם מאפשר ל"מבקרים" (Reviewers) להתחבר לפרטי הבדיקה ולזהות מראש כשלים אפשריים בדרך בה נכתבה.

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

תאפשרו קבלת משוב מהיר ויעיל יותר,

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

בהצלחה,

קובי הלפרין

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

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

  • TestCamp – a short relation

    TestCamp – a short relation Disclaimer Occasionally I cooperate with TestArmy as Trainer.TestArmy is the main organizer of TestCamp. First thing first I would like to formally Apologise to Damian Szczurek for forgetting his name on stage. I am really sorry it wasn’t intentional. What is TestCamp? TestCamp is Conference addressed mostly for younger testers still trying find their footing in IT world and our profession. At least that was the idea of the first edition looking at the subject on this one I think this year didn’t have as clearly targeted audience. There was still a lot of beginner level subject, but there were a few more advanced ones. Also, there was a lot of experienced testers in the audience. How was the conference? This time I won’t describe a presentation after presentation. I will present my top picks. As far as I am aware they will be available online on testuj.pl youtube channel. So you can watch them yourself. But first few things about the organization. Everything was running smoothly, even better then some other conferences but there are 3 things I didn’t like:THE HUGE PILLAR in the centre of the stage. with poor lighting. That’s why I decided to present outside of the stage. Another thing is there weren’t enough places to leave the plates glasses after taking the snack. And the snack areas basically had choke points at the entrances. So which presentations I liked? Nauka na błędach – root cause analysis w praktyce –  Katarzyna Balcerzak had great keynote about root cause analysis.[…]

    23.09.2018 | 1:02 קרא עוד...
  • Demystifying Machine Learning, Part 6

    Demystifying Machine Learning, Part 6 In the last post, we defined our neural network by providing it some specific hidden layers that will provide the basis for how the neural network model actually works. We were also able to dig in a bit to what’s happening behind the scenes. In this post, we’ll actually execute the neural network by feeding it the data and evaluating what gets produced as output. This will be the final post in the series and much of the points I make here have been covered in some way, shape or form in the previous posts in this series. My goal in this final post is to finish off the neural network we started in the previous post. This will actually be the second implementation of the same neural network you already developed. I did a few steps at the end of the previous post to help you visualize the model that had been created. Those statements weren’t strictly necessary for the operation of the network. Let’s level set and consider what script you should have in place. In your mnist.py, here is what you should have: import numpy as np import matplotlib.pyplot as plt from keras.datasets import mnist from keras.utils import np_utils from keras.models import Sequential from keras.layers import Dense, Activation (train_images, train_labels), (test_images, test_labels) = mnist.load_data() total_pixels = train_images.shape[1] * train_images.shape[2] train_images = train_images.reshape((60000, total_pixels)) test_images = test_images.reshape((10000, total_pixels)) train_images = train_images.astype('float32') test_images = test_images.astype('float32') train_images /= 255 test_images /= 255 train_labels = np_utils.to_categorical(train_labels) test_labels = np_utils.to_categorical(test_labels) total_classes =[…]

    22.09.2018 | 11:31 קרא עוד...
  • The sprint planning meeting that goes on forever | SupremeAgile

    The sprint planning meeting that goes on forever | SupremeAgile The sprint planning meeting is the longest meeting in the scrum framework and based on my experience it also the most exhausting meeting for most teams. The most difficult thing about this meeting is that team members often come to this meeting with the mindset that it will take the exact time written in the book…but it doesn’t! In scrum we have a very important term called timeboxing. A time box is an agreed upon and limited box of time that is used by a person or team to perform a dedicated activity (see here for more information about timeboxing). Everything in scrum is time-boxed, including the scrum planning meeting, so what happens when the meeting time is near the end, and the team hasn’t determined the goal or sprint backlog? Do we end the meeting and continue it next week? Should we extend it? Do we just end it? This scenario happens over and over, especially for new scrum teams that have neither the maturity nor the experience to conduct an effective sprint-planning meeting. So, what should one do in this scenario? To be honest, it really depends on what you want to achieve, but some common solutions that I love to use are: Let the team learn the hard way Let’s say that you have a team that is not willing to change their habits and continuously ignores the meeting’s timeframe. In this case, you can cut the meeting at the end of the time box, which will make the[…]

    22.09.2018 | 10:05 קרא עוד...

טיפים

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