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

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

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

he icon   en icon

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

מי בודק את הבדיקות?

נכתב על ידי 
ראשון, 13 יולי 2014 14:56
דרגו כתבה זו
(2 הצבעות)

פוסט זה תורגם מהבלוג שלי: http://www.gilzilberfeld.com/2014/07/how-to-test-your-tests.html

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

פשוט, לא?

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

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

נשתמש בטבלה הבאה:

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

מהירות

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

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

אתם בטח שואלים: כל זה, עבור כל טסט?

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

כלכלת בדיקות בסיסית. עשו זאת עכשיו.

הכותב מעביר הדרכות וליווי בנושאי בדיקות ואג'ייל – המעוניינים יכולים לפנות דרך האתר: http://www.gilzilberfeld.com/p/contact.html

שונה לאחרונה ב שני, 14 יולי 2014 19:53

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

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

  • Humidifier For Home Heater

    Humidifier For Home Heater humidifier for home heater humidifier for sq ft. . . . . . . . . . . . . . .

    25.05.2019 | 11:08 קרא עוד...
  • ATA Meetup #22 - Bangalore - Amazing experience

    ATA Meetup #22 - Bangalore - Amazing experience Reached super earlyThe session was supposed to start at 9 AM and I reached by 7.45 AM. I did not want to be late. Due to weekend's minimalistic traffic and super driver, I surprised myself and I thought I can just enter and wait in the hall. The security asked me the contact person name and I told him that there is a meetup by Agile Testing Alliance - did not help. I called up Aditya Garg and somehow the security got convinced that I can at least pass the main barricade and sit on the makeshift park seats.It was nice to experience fresh air, have fruits and dive into an interesting book called "The Practicing Mind" by Thomas M. Sterner. The Practicing Mind I remembered the discussions with Shrini Kulkarni about consciousness, mind, awareness as I read the book. Around 8.40 AM, Thrivikram and Venkata P from HCL welcomed and escorted me to the induction hall where we had the meetup. The conversation between them and the security folks was an interesting one making me think of the process adherence vs value addition. Learning for me: Know the contact person in advance and keep them informed about surprises in plan. HCL ServicesThe first session was by HCL management represented by Prashantha M who highlighted the various services offered by HCL, the case studies and the learning. There were few really good questions by the audience who wanted to know more details about the insights shared to them.My tip: Knowing[…]

    25.05.2019 | 11:55 קרא עוד...
  • Performance testing (benchmarking) Java code with JMH

    Performance testing (benchmarking) Java code with JMH Contents:1) Introduction2) Is it easy?3) Common pitfalls4) Setup5) How to configure JMH?6) Configuration options7) Configuration - predefining state8) Demo9) Results10) Further reading1. IntroductionAs test engineers when we approach performance testing we usually only think about final end-to-end application verification with tools such as JMeter, Locust or Gatling. We know that such tests should run on a separate environment with conditions resembling production as close as possible. Unfortunately in some cases (especially with monolithic architecture) dedicated performance testing environment is hard to get. What to do in such cases? Should we test on common test environment? Or should we test on production? Or maybe we should change our approach to performance testing?  Each option has advantages and disadvantages.Today I'd like to describe low-level performance testing (often called benchmarking) of Java code. It does not require a separate environment. It can be executed directly from your IDE (although that's not recommended) or from the command line. Measuring the performance of critical pieces of code is essential for everyone who creates applications, frameworks, and tools. Testers are co-creators so it's also our responsibility. 2) Is it easy?Benchmarking correctly is hard. There are multiple optimizations implemented on the JVM/OS/hardware side which make it challenging. In order to measure right, you need to understand how to avoid those optimizations because they may not happen in the real production system. Thankfully, there is a tool which helps you mitigate those issues called JMH (Java Microbenchmark Harness). It was created for building, running, and analyzing nano/micro/milli/macro benchmarks written in Java[…]

    25.05.2019 | 8:10 קרא עוד...

טיפים

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