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

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

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

  • Would Heu-risk it? Part 14: Alethephobia

    Would Heu-risk it? Part 14: Alethephobia Another trap coming up! Trap means we get to look at our less attractive attributes. This one deals with important stuff so let us look at that rhyme: “When you find something scary while you exploreYou might be tempted to just shut the doorBut hiding it will never kill that ghostBring to light what scares you most” So, what does it mean? It can be incredibly intimidating to be the bringer of bad news. Especially if you are new to a team/project, if you are a junior tester or just have some very strong voices pushing for speed. I mean, there is even a meme for it! And yes, there is an art to knowing when/what/how to speak up and when it is better to wait. It is a skill grown and nurtured over the years and being good at assessing risk is one of the best skills you can have as a tester. BUT. It is a decision that should never be made out of fear!We have a professional obligation to speak up when we actually believe there is risk. People will try to push you. They will try to get creative with results in order to make progress. They might ask you to lie. It is YOUR choice if you do. I want to share Fiona Charles‘ 10 commandments for ethical techies here:1.     Understand your overall professional obligations2.     Understand your specific legal and contractual obligations3.     Know your own ethical bottom line4.     Know whose interests you serve5.     Know how[…]

    29.01.2020 | 7:00 קרא עוד...
  • WebDrivers with culture – Testing internationalisation

    Setting ‘Accept-Language’ headers When handling multiple languages, it is important to be able to verify that your site is responding as specified for different languages. In this post I’ll be looking at how to do this with Selenium WebDriver. Whilst my code is written in C#, the concepts (and browser support) are generic and should give you enough to get this working whatever your language binding of choice. There are two common ways to request a language on a localised website. You may use a language or country specific url, but in most cases, the language that the site returns is based upon the ‘Accept-Language’ header that is sent by your browser. This article on MDN explains how it is typically used. Principles Test that your supported localisations are returned when correctly requested and perhaps a critical path or two. I would not advise trying to test every piece of text in every supported language.As always test as much as possible at lower levels. Use the System test to validate that your code is correctly configured. WebDriver Support As far as I can work out, setting the Accept-Language’ header for a WebDriver session is only supported on ChromeDriver and FirefoxDriver. If you know how to set it up on Internet Explorer or Safari I would be delighted to know how. I am writing this in January 2020 with Chrome version 79 and Firefox version 72 with Selenium 3.14.159. It is very likely that the instructions here will stop working eventually.[…]

    29.01.2020 | 1:30 קרא עוד...
  • Upcoming Talks and Events 2020

    Upcoming Talks and Events 2020 The year 2020 has started on a good note. I am excited to have been invited to speak at amazing events. Here is a list of my upcoming talks and events– The details of each of these events and my talks can be found at their respective websites at-> Selenium Day : https://seleniumday.com/ DevopsCon Singapore: […]

    29.01.2020 | 12:39 קרא עוד...

טיפים

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