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

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

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

he icon   en icon

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

יום בחיי בודק – מהו בעצם מקצוע הבדיקות, בפן הפרקטי - יום-יומי?

נכתב על ידי 
שבת, 21 דצמבר 2013 18:46
דרגו כתבה זו
(2 הצבעות)

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

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

 

מה זה בכלל בדיקות?

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

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

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

 

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

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

תאורטית - נדרש מעין סרטון תדמית למקצוע – אך מכיוון שלא הצלחתי לארגן הכנתו (עדיין? cool) נתחיל מתאור כתוב:

 

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

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

 

תפקיד הבודק מתחלק למספר פעילויות:

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

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

2. ניתוח המידע המהווה בסיס לבדיקות,

3. Review - בחינה של מסמכי הגדרה בכדי להקדים ולמצוא בעיות בהגדרה, בחינת מסמכי בדיקות שכתבו חברים לקבוצה וכד'.

   לרוב מתבצע בשני שלבים:

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

      ב. השתלבות בישיבה עם משתתפים מתפקידים שונים.

4. תכנון והגדרת הבדיקות - לרוב תוך כדי כתיבת מסמך בפירוט כזה או אחר (ב-וורד/אקסל או בכלי ניהול בדיקות ייעודי),

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

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

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

לרוב חלק זה תופס זמן ניכר מעבודתנו.

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

7. פיתוח בדיקות אוטומטיות,

8. הרצת בדיקות אוטומטיות וניתוח תוצאותיהן,

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

10. דיווח באגים - במערכות דיווח / תוכנה לניהול באגים,

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

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

 

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

וכך חוזר חלילה...

 

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

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

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

 

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

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

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

(כמו שנאמר – "למה האחרונים תמיד בסוף" laugh )

 

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

אתם מוזמנים לקרוא עוד בנושא הדרכות לבודקים חדשים בתת-הפורום המיועד לכך:

http://itcb.org.il/index.php?option=com_kunena&view=category&catid=8&Itemid=632

 

קובי הלפרין - halperinko@

שונה לאחרונה ב ראשון, 22 דצמבר 2013 17:01

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

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

  • 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 קרא עוד...

טיפים

  • טיפים לאוטומציה יעילה - Dale Emery
    טיפים לאוטומציה יעילה - Dale Emery (How to Survive the Coming Test Automation Zombie Apocalypse (PDF slide deck By Dale Emery bit.ly/15XFGkp סט שקופיות מעולה המתאר את מרבית המחלות התוקפות פעילויות אוטומציה - ומדגיש כיצד לטפל בהן! על כל שקופית ניתן לפתוח…
    קרא עוד...
  • אל תחכה שיתנו לך הזדמנות
    אל תחכה שיתנו לך הזדמנות אם אתה רוצה להתפתח - אל תחכה שיתנו לך הזדמנות, קח אותה - למד, בצע והדגם הדבר בזמנך הפנוי - מישהו כבר יאמץ את זה וייתן לך את הקרדיט.   טיפים מחברי ITCB-AB
    קרא עוד...
לרשימה המלאה >>