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

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

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

he icon   en icon

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

את הארכיטקטורה מאחורי הקלעים בודקים פחות מכירים כי:

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

ב. זה לא משהו שאתה מתעסק איתו ביום יום, המערכת קיימת וזהו

 

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

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

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

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

Automation Framework

התמונה לקוחה מהאתר: http://www.zenqconnect.com/images/Automation-Framework.png

 

Application Under Test (או - System Under Test) – זהו המוצר שעליו אנחנו מריצים את הבדיקות.

 

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

 

Config & Global Variables – בסיס נתונים המיוצג בדרך כלל כקובץ אשר מכיל בתוכו משתנים גלובאליים שהם בד"כ אינם משתנים לאורך הריצה (לדוגמא: מיקום ספרייה מסויימת שם יושבים קבצי הלוג) הם ישמשו אותנו בכל איזור בקוד בו אנו נמצאים וכן פרמטרים משתנים (כמו למשל שם המכונה, שם המשתמש, שם גרסה וכו').

 

Common Business Automation Scripts – אני לא כל כך מסכים עם שם הקומפוננטה הזו, הייתי קורא לה Function Library והיא באה לאגד את פונקציות הבסיס (Building Blocks) השימושיות ביותר במוצר, כמו למשל – לחיצה על כפתור. כאן יושב הלב הפועם של הבדיקות האוטומטיות.

 

Input Data – כאן יושב ה-Data של מקרי הבדיקה, בשיטת ה-Data Driven Testing, היינו מחליפים בקומפוננטה הזו את הקישור לבסיס מידע אחר, בסיסי נתונים יכולים להיות מיוצגים כקבצי XML , Excel, Access, NotePad , קובץ Dump ועוד.

 

Execution – החץ המופנה אל עבר ה-AUT למעשה בא להגיד לנו שפה יושב כלי ההרצה איתו אנו עובדים, כלי כמו AutoIT או Selenium, הקוד נכתב ב-IDE של הכלי ואילו הריצה מתבצעת במנוע ההרצה שלו (Parser + Test Runner).

 

Automation Test Scripts – קומפוננטה זו תכיל אוסף של טסטים ביזנסיים הכתובים כסקריפטים, היא תכיל את הלוגיקה בקוד שמבצעת את מקרי הבדיקה, היא יושבת מעל ה-Function Library ואליה היא קוראת מספר רב פעמים, למשל: לחיצה על כפתור עם סט של פרמטרים נלווים כמו מזהה ייחודי, כמה פעמים ללחוץ, אורך זמן הלחיצה וכו'. אם ה-Function Library הוגדר כ-לב הפועם, הרי שקומפוננטה זו תוגדר כ-מוח של כל המערכת.

 

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

 

Reporting – קומפוננטה שאמורה לקחת את תוצאות הריצה כולל הצלחות, כשלונות ו-exceptions למיניהם ולהציג אותן למשתמש, הכלל החשוב כאן הוא שהנתונים צריכים להיות הכי ברורים שאפשר, במיוחד אם בודקים כאן מוצר גדול ומורכב. הדוחות אמורים לכלול, בנוסף לתוצאות הריצה הכלליות, גם מידע על תוצאות verification points וכן של זמנים. כדאי מאוד שיילקח Screen Shot ויצורף לכל אחד מן הסטפים של ההרצה. מומלץ גם שלקומפוננטה תהיה היכולת להפיץ את ה-reports בצורה נוחה (כמו למשל שליחת מייל תפוצתי).

 

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

 

Driver Script – יכיל בתוכו את ה-Clean Up Scripts שתפקידם יהיה לנקות את סביבת ההרצה (קבצים, DB) לפני כל הרצה או כמה הרצות וכן את ה-Scheduler שאיתו נוכל לתזמן הרצות בצורה אוטומטית, ניתן יהיה לקבוע יום ושעה , לקבוע מתי אסור לרוץ (למשל כשרץ במערכת פרוסס End of Day) וכן לקבוע תלויות בין הרצות, כמו למשל שטסט 2 לא ירוץ עד אשר טסט 1 לא סיים את הרצתו בהצלחה.

 

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

 

תוספות ושינויים:

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

ה-Keyword Driven testing (KDT) תיתן לנו את היכולת לבנות טסטים אוטומטיים גם מבלי לדעת קוד.

מעל שכבת ה-Function Library ניצור קומפוננטה חדשה שתיקרא: KDT Engine, השכבה הזו תדע לקשר בין הפונקציות הקיימות במערכת לבין שכבה עליונה יותר שתהווה את ה-GUI למשתמש.

KDT GUI – יציג לאותו בודק ידני \ מיישם אוטומציה חלון ובו הוא יוכל לבנות (בין אם זה לגרור, לבחור או לכתוב) אובייקטים שונים עליהם ניתן לבצע אוסף פעולות, זה בנוסף ללוגיקה ביזנסית ייצרו מקרה בדיקה, ה-GUI יכול להיות מיוצג כאפליקציה דסקטופית, מסמך אקסל או אפילו web page. קומפוננטה זו תהיה מקבילה ל-Automation test Scripts.

 

-----------------------------------------------------------------

לכתבות נוספות, טיפים וכל מה שקשור לבדיקות אוטומטיות

היכנסו לאתר שלי: http://atidcollege.co.il

יוני פלנר.

 

 

פורסם ב בלוג
שבת, 16 אוגוסט 2014 12:22

בדוק מוקדם ככול הניתן

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

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

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

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

באג'ייל השתמרו תהליכי התנעה – רק שעכשיו הם אינם במסגרת תכונה אלא במסגרת סיפור – Story Kick-Off, וגם כאן נהוג להפגש ולדון בהגדרות הסיפור בפגישות דומות הנקראות: Three Amigos Meetings(קראו לגביהן עוד במאמר של מיכאל בלינק למטה).

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

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

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

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

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

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

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

חומר קריאה נוסף:

http://www.mkltesthead.com/2013/07/99-ways-workshop-9-test-as-early-as.html

 

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

סדרת טיפים זו "כיצד להפוך לבודקים טובים יותר" מתבססת על דיון ב: Software Testing Club

99 Things Testers Can Do To Become Better Testers

ה-eBook החינמי שנוצר בעקבות דיון זה: 99ThingsEbook.pdf

וסדרת פוסטים מאת Michael Larsen בשם: Ways Workshop 99 - בה מיכאל מרחיב על כל אייטם וגם מספק הנחיות כיצד לתרגל הנושא.

 

Early Testing 2

Early Testing 1

 

 

פורסם ב טיפים

 עבודת בודקים בצמד עם המפתח

"עבודה בצמד עם המפתח" – לעבודה בצמדים יתרונות רבים אך לעיתים היא נזנחת בשל "העלות הכפולה".

בשנים האחרונות עם עליית שיטות אג'יליות ו- Extreme Programming צורת עבודה זו יותר נפוצה.

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

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

(לכל בודק רקע משלו ורעיונות בדיקה שונים הנובעים מכך – וזו הזדמנות נהדרת לחלוק)

כל אחד יכול לבצע פעולות שונות ולשים לב לאזורים אחרים במערכת.

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

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

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

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

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

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

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

חומר קריאה נוסף:

http://www.mkltesthead.com/2013/07/99-ways-workshop-8-pair-with-developers.html

 

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

סדרת טיפים זו "כיצד להפוך לבודקים טובים יותר" מתבססת על דיון ב: Software Testing Club

99 Things Testers Can Do To Become Better Testers

ה-eBook החינמי שנוצר בעקבות דיון זה: 99ThingsEbook.pdf

וסדרת פוסטים מאת Michael Larsen בשם: Ways Workshop 99 - בה מיכאל מרחיב על כל אייטם וגם מספק הנחיות כיצד לתרגל הנושא.

 Pair testing

 

פורסם ב טיפים

בודק - בחן את דרך פעולתך מידיי יום

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

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

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

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

מנהלים רבים חוסמים הצעות לשינוי – לעיתים במתכוון, ולעיתים בלי משים.

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

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

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

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

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

מהיכן מגיעים רעיונות לשינוי?

מהתחושה כי משהו אינו נוח / חסר / לא יעיל.

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

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

לעיתים תגלו כי עליכם להוסיף תהליכים, לעיתים תגלו כי עליכם לצמצם ולהקל את שיטות העבודה.

אל תקפאו על השמרים – חפשו דרכים שיפור.

חומר קריאה נוסף:

http://www.mkltesthead.com/2013/07/99-ways-workshop-6-question-way-you.html

 

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

סדרת טיפים זו "כיצד להפוך לבודקים טובים יותר" מתבססת על דיון ב: Software Testing Club

99 Things Testers Can Do To Become Better Testers

ה-eBook החינמי שנוצר בעקבות דיון זה: 99ThingsEbook.pdf

וסדרת פוסטים מאת Michael Larsen בשם: Ways Workshop 99 - בה מיכאל מרחיב על כל אייטם וגם מספק הנחיות כיצד לתרגל הנושא.

 

Paths1

פורסם ב טיפים
חמישי, 10 יולי 2014 05:57

אתר קהילה חדש בשם TEST Huddle

אתר קהילה חדש בשם
TEST Huddle
מחליף את אזור המידע באתר של EuroStarConferences.com
מומלץ להרשם


http://testhuddle.com

 

TestHuddle-Icon

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

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

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

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

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

 

Determined Dog

פורסם ב בלוג

Learning

אף פעם אל תפסיקו ללמוד - בדיקות

" אף פעם אל תפסיקו ללמוד" – או כמו שנאמר "רק טיפשים יודעים הכל".

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

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

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

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

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

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

כלומר – בכדי ללמוד כל מה שעשוי להידרש מבודק – זו משימה אינסופית!

אתם מוזמנים לקרוא עוד על כך בבלוג שלנו בפוסט: איזה רקע נוסף רצוי שיהיה לבודק?

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

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

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

רצוי לנסות ולהגדיר נקודות למימוש לטווח הקרוב,

ובכדי לשפר ולהפנים את הידע – רצוי להתמודד עם הנושא ע"י כתיבה עליו ו/או דיון בנושא.

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

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

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

באתר www.itcb.org.il  תחת דף "מעולם הבדיקות" ריכזנו לכם עדכוני RSS מהארץ והעולם – בכדי להקל עליכם למצוא העדכונים המעניינים האחרונים.

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

חומר קריאה נוסף:

http://www.mkltesthead.com/2013/07/99-ways-workshop-3-never-stop-learning.html

http://www.mkltesthead.com/2013/07/99-ways-workshop-4-and-recognize-that.html

 

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

סדרת טיפים זו "כיצד להפוך לבודקים טובים יותר" מתבססת על דיון ב: Software Testing Club

99 Things Testers Can Do To Become Better Testers

ה-eBook החינמי שנוצר בעקבות דיון זה: 99ThingsEbook.pdf

וסדרת פוסטים מאת Michael Larsen בשם: Ways Workshop 99 - בה מיכאל מרחיב על כל אייטם וגם מספק הנחיות כיצד לתרגל הנושא.

LearnTogether

 

פורסם ב טיפים
ראשון, 29 יוני 2014 10:21

הכירו את לקוחותיכם

הכירו את לקוחותיכם

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

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

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

נושא זה והנושא המקביל לו "עבדו כתמיכת לקוחות לזמן מה" שהועלו ע"י Chris George – הינם 2 הנושאים הראשונים ב-eBook ולא בכדי,

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

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

אז – איך נוכל להכיר את הלקוח/ה שלנו?

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

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

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

 

חומר קריאה נוסף:

http://www.mkltesthead.com/2013/07/99-ways-workshop-1-get-to-know-your.html 

http://www.mkltesthead.com/2013/07/99-ways-workshop-2-work-first-line.html 

http://blog.ruberto.com/2013/06/engage-customers-directly-to-build-high-quality-software

 

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

סדרת טיפים זו "כיצד להפוך לבודקים טובים יותר" מתבססת על דיון ב: Software Testing Club

99 Things Testers Can Do To Become Better Testers

ה-eBook החינמי שנוצר בעקבות דיון זה: 99ThingsEbook.pdf

וסדרת פוסטים מאת Michael Larsen בשם: Ways Workshop 99 - בה מיכאל מרחיב על כל אייטם וגם מספק הנחיות כיצד לתרגל הנושא.

 

 KnowYourCustomers

 

פורסם ב טיפים

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

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

בתרגום חופשי מהמסמך הבא של Cem Kaner.

 

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

http://www.logigear.com/logi_media_dir/Documents/tcs_appA_bugs.pdf#!

פורסם ב טיפים

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

(פוסט זה נסמך בין השאר על דיונים רבים שנכתבו ע"י חברי פורום  " בקרת איכות תוכנה – 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@

פורסם ב בלוג