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

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

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

he icon   en icon

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

תכונות הטסט: עקבות

נכתב על ידי 
רביעי, 27 אוגוסט 2014 10:30
דרגו כתבה זו
(1 הצבעה)

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

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

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

אנחנו רוצים לדעת שללא כל קשר ל:

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

התוצאה שלהם לא תושפע.

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

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

האם מצב הזכרון זהה בכל הרצה?

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

האם עבר אותו זמן מאז אתחול המערכת בפעם הקודמת?

אנחנו לא יודעים.

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

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

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

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

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

כדברי הנשיא לשעבר: כן ולא.

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

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

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

ההחלטה היא עלינו.

במקור הופיע בבלוג שלי.

בפעם הבאה: עוד על בידוד

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

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

  • Five Blogs – 18 October 2018

    The (best) five blogs I read today. Check them out. What Is Data Democratization? A Super Simple Explanation And The Key Pros And Cons Written by: Bernard Marr What’s getting Agile down? Written by: Gary Watts Future of AI in Testing (Will You Be Replaced?) Written by: Joe Colantonio Jeff Hawkins Is Finally Ready to Explain His Brain Research Written by: Cade Metz Lower level Automation and testing? Be more precise! The Automation triangle revisited…again! Written by: Toyer Mamoojee Quote of the day: “When you’re young, being different is not cool. But when you’re older, it absolutely is.” -Lane Moore You can follow this page on Twitter

    17.10.2018 | 11:36 קרא עוד...
  • The Automated Regression Suite. Part 2 of 3. When to run the tests.

    Once you have your automated regression suite in place, you can create a scheduler to run them periodically, without any manual intervention. Mostly you will use Jenkins jobs (or some similar CI tool) to trigger them and have them running on an environment of your choice. Just because they are called “regression tests” it does not mean they are only meant to be run once before a release. They are in place to help validate your system, so you can run them as often as you want. But how often do you want to run them? That really depends on some factors like: how often are you releasing, how often are you committing, how many other services is your software dependent on, how often are those services also released, and so on. How often you are releasing determines the amount of new or changed code that needs to reach production. If you are releasing once a year, the amount of such code will be huge. If you release every two weeks you will have less such code, and in case a failure would occur in the software, it would be much easier to pinpoint the root of the problem (as compared to the one-year release cycle). If you are releasing rarely, with large amounts of time between releases, you really should run your tests at least once a week. From my experience, this test run frequency makes running these tests worth it, since you have a good amount of changed[…]

    17.10.2018 | 11:17 קרא עוד...
  • Let’s stop talking about testing, let’s start thinking about value

    Let’s stop talking about testing, let’s start thinking about value This year Alex Schladebeck and I did two keynotes titled “Let’s stop talking about testing, let’s start thinking about value” at QA Expo in Spain and TestNet in the Netherlands. This blogpost has the most important points we made in our talk. The keynote was inspired by some of our frustrations: “Testing is under appreciated” (Alex) and “Most testers are unable to explain what we do” (Huib). I wrote about my frustration back in 2016 already. This blogpost is about my frustration that most testers cannot come up with a decent definition of testing. And even worse: a big majority of the people who call themselves professional testers are not able to explain what testing is and how it works! They have trouble explaining what they are testing and why they are doing specifically the thing they are doing! How can anybody take a tester seriously who cannot explain what he is doing all day? Alex’s frustration is that testing is not valued by others. Developers are seen as the rockstars of the project because they create the software that adds value. But why are testers often not valued? Lowered expectations for testing expertise by stuff like ISO standards and ISTQB: I wrote about certification and standards before. ISTQB and standards put too much emphasis on process and documentation, rather than the real testing. By assuming there can be a standard, you say that there is one best way to organize and document your testing. But isn’t your test strategy[…]

    17.10.2018 | 5:05 קרא עוד...

טיפים

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