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

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

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

he icon   en icon

סיגיסט ישראל בשיתוף עם מכללת סלע ,

שמחים להזמינך לשבוע הבדיקות 2015/INTERNATIONAL TESTING WEEK 23-25/3.

במסגרת הכנס נארח ממיטב המרצים והמומחים מחו"ל.

לבחירתכם 4 סמינרים – פרטים מלאים בפרוספקט המצורף.

שימו לב! הנחות מיוחדות למוסמכי ISTQB !

 

Sela INTERNATIONAL TESTING WEEK 23 25 3 2015 header

לפרטים נוספים ראו ברשימת אירועים של ITCB:

http://goo.gl/ALXOt9

 

 

שלישי, 03 פברואר 2015 13:40

צור מפת חשיבה – Mind Map

 צור מפת חשיבה – Mind Map

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

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

(בדומה לטבלאות רבות מימדים וצבעים)

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

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

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

מתי נשתמש ב-MM? – כאשר נרצה לעשות סדר בחשיבה שלנו על מקרי בדיקה, וכאשר נרצה להציג הנושא ברמת על בדיון או בReview,

וגם כאשר נחליט לתאר בקצרה את הנושאים הנבדקים – לדוגמה לקראת ותוך כדי בדיקות חוקרות (ET).

את ה-MM נתחיל לבנות בדומה לעץ מ- מילה/רעיון/נושא מרכזי וממנו נפצל לתת-נושאים ברמות נוספות.

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

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

http://www.mkltesthead.com/2013/07/create-mindmap-rosie-sherry-99-ways.html

התמונה מ:

https://www.examtime.com/blog/6-tips-on-how-to-create-an-online-mind-map-with-examtime

 

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

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

99 Things Testers Can Do To Become Better Testers

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

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

 

How to create a mind map mindmap

 

פורסם ב טיפים
חמישי, 22 ינואר 2015 12:18

!State of Testing Survey 2015 is Live

State of Testing Survey 2015 is Live!

http://qablog.practitest.com/state-of-testing

השתתפו בסקר והשפיעו

 

State of testing 2015

 

והזוכים בפרס לעידוד מצוינות ולתרומה לקהילת הבודקים בישראל 2014 הם:

 

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

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

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

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

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

פרטים נוספים בטופס ההגשה של Cisco

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

פרטים נוספים בטופס ההגשה של NICE Actimize

 

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

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

בברכה,

יגאל לוי

יו"ר הוועדה

 

לצפייה בפרטי התחרות:

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

 

ההזמנה להגשת מועמדות לפרס 2014

 

And the winners of the Testing Excellence Award for 2014 are:

Every year the ITCB (Israeli Testing Certification Board) encouraging the testing community to submit project for the Testing Excellence competition.

A committee on behalf of ITCB reviews a large number of presented projects along the year and examines the projects according to many criteria, verifying the quality of the project as well as the contribution to the organization and the testing community.

The final candidates present the project in front of the committee, and asked to present relevant materials to comply the requested criteria.

Due to the high quality of projects presented this year, the committee has decided to share the first place between 2 candidates.

 

In the Technological track won Cisco company in the "Phoenix" project –

The project was submitted by Ouriel Gottlieb who presented an Automation solution

This answers the needs of testing many platforms within a short period of time, with high coverage, low maintenance and high quality.

Additional details in Cisco registration form.

 

In the Procedural track won Nice Actimize company in the "QA Dashboard" project –

The project was submitted by Amir Israeli who presented a procedural solution supported by an internal tool,

Which answers the need to handle bugs reported by clients (Escaped Defects).

The solution included high quality analysis, definition of required remedy, and live presentation of the status of the bugs and areas which should be focused on.

The process made a major improvement in amount of failures reported by the clients (Around 30% drop year after year),

Improved the quality of the products, served as basis for focusing on the weak-points and became a standard in the company management.

Additional details in Nice Actimize registration form.

 

It is important to note that the two projects which won can be assimilated in other organizations with just minor changes and by that contribute to the Israeli Testers and Testing Community.

For you convenience, we attach here the registration forms of both winners.

Best Regards,

Igal Levi

Committee chairman

 

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

CiscoTeam 2014 Award 2 

 

במסלול התהליכי זכתה חברת "נייס אקטימייז" בפרויקט "QA Dashboard":

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

 

 

 

 

מבט מערכתי לבודקים – Systems Thinking

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

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

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

מה יקרה כאשר הגישה לרשת הנתונים משובשת ובזמן עומס יתר?

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

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

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

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

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

http://www.mkltesthead.com/2013/07/get-understanding-of-systems-thinking.html

 

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

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

99 Things Testers Can Do To Become Better Testers

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

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

 

SystemThinking habitsofst

 

 

פורסם ב טיפים
שישי, 26 דצמבר 2014 11:01

בודק - השאר ממוקד מטרה

Targetבודק - "השאר ממוקד מטרה / Keep Your Eye on the Ball - The End Goal " – כבודקים בעלי יכולת מיקוד וירידה לפרטים, לעיתים אנו מאבדים את התמונה הכוללת וצוללים יתר על המידה בבדיקת נושאים זניחים.

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

 

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

אז איך מזהים?  -  הדרך הכי פשוטה היא להבין מה ה-main system usage שלנו.

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

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

 

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

 

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

http://www.mkltesthead.com/2013/07/keep-your-eye-on-ball-end-goal-99-ways.html

 

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

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

99 Things Testers Can Do To Become Better Testers

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

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

פורסם ב טיפים
חמישי, 04 דצמבר 2014 06:34

Selenium Grid – התקנה, הגדרה והרצה

ה-Grid הוא חלק מסוויטת המוצרים של Selenium שכוללת בין היתר גם את ה-WebDriver ,ה-IDE וה-Appium הוא בא לתת פתרון להרצות מקבילות וכיסויים נרחבים יותר על סביבות שונות, מבחינה הירארכית ניתן להסתכל על ה-Grid כשכבה מעל ה-WebDriver.

עם ה-Grid נוכל בלחיצת כפתור להריץ את אותם סטים של בדיקות בו זמנית על מערכות שנות כמו למשל Chrome/Win 7 , IE/Win XP , Safari/iOS , Firefox/Linux , Chrome/Android ועוד ועוד ועוד ...

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

הארכיטקטורה מבוססת על שרת לקוח או בשפה המקומית: Hub – Nodes, כך שהפעלת הטסטים יתבצעו על ה-Hub והרצתם בפועל תתבצע על כל ה-Nodes שהוגדרו במערכת, למשל Node 1 יותקן על סביבת לינוקס עם דפדפן FireFox , Node 2 יותקן על סביבת iOS עם דפדפן ספארי וכו'.

ניתן לראות את האכיטקטורה כאן :

Grid1

התמונה נלקחה מהאתר: http://grid.selenium.googlecode.com/git-history/22ed3ff910401af083bf06a4d13514f4c6a623ca/src/main/webapp/diagrams/Requesting%20a%20Specific%20Environment.png

 

ל-Grid יש 2 גרסאות נכון להיום, אתמקד בגרסה השנייה המעודכנת יותר – Grid 2, ההבדלים ביניהם גדולים, בין היתר Grid 2:

- יכול לתמוך בעד 5 דפדפנים לכל Remote Control , ב Grid 1 - רק דפדפן אחד

- תומך בטסטים הכתובים ב-WebDriver , ב Grid 1 רק ב-RC

- מכיל את ה-Selenium Server

 

שלב 1 – התקנת Java

וודאו כי על מחשבכם מותקן Java (כל מחשב שיריץ הן Hub והן Nodes), לבדיקה האם מותקן או לא, פתחו את ה-Command Line והקישו : Java -Version . במידה ולא מותקן, היכנסו לאתר של Oracle , הורידו והתקינו את ה-JDK (הגרסה האחרונה)

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

 

שלב 2 – התקנת ה-Selenium Grid Server או ה-Hub

לשם כך עלינו תחילה להיכנס לדף ההורדות של פרוייקט סלניום (http://docs.seleniumhq.org/download) ומשם להוריד את ה- Selenium Server (לינק ישיר: http://selenium-release.storage.googleapis.com/2.44/selenium-server-standalone-2.44.0.jar) שהוא למעשה קובץ jar.

פתחו את ה-Command Line והכניסו את הפקודה הבאה:

java -jar selenium-server-standalone-2.44.0.jar -role hub -port 4444 -nodeTimeout 600

מה עשינו פה ?

ביקשנו להתקין את קובץ ה-Jar שהורדנו (במקרה שלנו הגרסה היא 2.44.0), הגדרת ה-Role מבדילה בין התקנת Hub או Node , פה אנחנו מגדירים לו להתקין Hub , עם Port 4444 שהוא ה-Port ברירת המחדל (כשמפעילים את ה-Hub הוא מתחיל אוטומטית להאזין לPort זה. הגדרנו לו עוד שדה (רשות) של TimeOut ל-600 שניות (10 דקות).

* אופציה נוספת: את ה Hub אוכל להגדיר דרך קובץ חיצוני, (בד"כ JSON או YAML), כמו בדוגמא המתוארת בלינק הזה: https://code.google.com/p/selenium/source/browse/java/server/src/org/openqa/grid/common/defaults/DefaultHub.json

והקריאה להפעלת קובץ זה תהיה כך:

java -jar selenium-server-standalone-2.25.0.jar -role hub -hubConfig <File Name>.json

כעת ניתן להיכנס לדפדפן ולבדוק את הגדרת ה-Hub שלנו על ידי הכנסת הכתובת הבאה: http://localhost:4444/grid/console , הקלקה על View Config תציג לנו מידע מפורט יותר על ה-Server שהתקנו.

המסך שיופיע אמור להיראות כך:

Grid2 

נלקח מהאתר: http://i.stack.imgur.com/B2kS8.png

 

שלב 3 – התקנת ה- Selenium Grid Nodes

* על כל סביבת הרצה בה נרצה לעבוד עם ה-Grid נצטרך לבצע את השלב הזה.

בשביל לחבר את ה-Node ל-Hub כאשר הNode יוגדר לוקאלית על המכונה (Node + Hub יושבים על אותה מכונה) נפתח את ה-Command Line ונכניס את הפקודה הבאה:

java -jar selenium-server-standalone-2.44.0.jar -role node –hub http://localhost:4444/grid/register

ואילו Node היושב במכונה מרוחקת יוגדר כך:

java -jar selenium-server-standalone-2.44.0.jar -role node -hub http:// <IP Address>:4444/grid/register

<IP Address> = כתובת ה-IP שבו יושב ה-Hub תוגדר פה

חיבור Node עם הגדרה ספציפית של פרמטרים:

java -jar selenium-server-standalone-2.44.0.jar -role node -hub http:// <IP Address>:4444/grid/register -browser browserName="internet explorer",version=11,maxInstances=4,platform=WINDOWS -port 5556

בדוגמא זו הראתי חיבור של Node מעל מכונה בעלת מערכת הפעלה Windows , בעלת דפדפן מסוג IE , גרסה 11 , ניתן להריץ עד 4 דפדפנים לחיבור זה שיושב על Port 5556 ומאזין לו.

* שימו לב כי ערך ה-Role בספרות יופיע פעם כ-Node , פעם כ- WebDriver ופעם כ-RemoteControl וזה למה ? סיבה היסטורית לתמיכה לאחור. כשיצא Grid 1 עבדו עם החיבור של RC בלבד , Grid 2 הביא איתו גם את התמיכה ב-WD ואילו ה-Node מכיל את שניהם. כך שאם אני משתמש ב-Grid 1 אוכל להשתמש ב -role remotecontrol או ב –role node ואם אני מריץ את Grid 2 אוכל להשתמש ב –role webdriver או –role node

* אופציה נוספת: גם את ה Nodes אוכל להגדיר דרך קובץ חיצוני, (בד"כ JSON או YAML), כמו בדוגמא המתוארת בלינק הזה: https://code.google.com/p/selenium/source/browse/java/server/src/org/openqa/grid/common/defaults/DefaultNode.json

והקריאה להפעלת קובץ זה תהיה כך:

java -jar selenium-server-standalone-2.25.0.jar -role node -nodeConfig <File Name>.json

בסיום הגדרת ה Nodes , ניכנס לדפדפן ונכניס את הכתובת: http://localhost:4444/grid/console

המסך שיופיע אמור להיראות כך:

 Grid3

נלקח מהאתר: http://www.ibm.com/developerworks/library/wa-selenium2/fig02.jpg

 

שלב 4 – הרצת הטסטים אל מול ה-Grid

עכשיו, אחרי שהגדרנו את ה-Hub וה Nodes נותר לנו להריץ את הבדיקות, אך רגע לפני ההרצה, נצטרך להגדיר עוד 2 דברים: קובץ קונפיגורציה ומתודת Setup בקוד שלנו .

 

יצירת קובץ הקונפיגורציה:

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

תחילה נגדיר את ה-Suite :

<suite name="Parallel Tests" verbose="1" thread-count="3" parallel="tests">
</suite>

(הגדרנו פה הרצה מקבילית על 3 Threads שונים)

ואח"כ את ה tests וה parameters שלהם:

<tests>
      <test name="Windows+IE11 Test">
            <parameters>
                  <parameter name="platform" value="Windows" />
                  <parameter name="browser" value="Internet Explorer" />
                  <parameter name="version" value="11" />
                  <parameter name="url" value="http://www.Google.com"/>
            </parameters>
            <classes>
                  <class name="GridTest" />
            </classes>
      </test>

      <test name="Adroid Test">
            <parameters>
                  <parameter name="platform" value=" Android"" />
                  <parameter name="browser" value="Chrome" />
                  <parameter name="version" value="39.0.2171.71" />
                 <parameter name="url" value="http://www.google.com"/>
            </parameters>
            <classes>
                  <class name="GridTest" />
            </classes>
      </test>
</tests>

בדוגמא זו ראינו הגדרת 2 סביבות , הראשונה על Windows עם IE 11 והשניה על Android עם Chrome, בשני המקרים אני מאתחל את הדפדפן עם אתר הבית של Google , שימו לב כי הגדרנו את שם ה class כ- GridTest (נחזור אליו אח"כ).

הוספת מתודת Setup:

הוספת המתודה הזו ל-Class שלנו תיתן לנו את היכולת להתממשק עם ה Grid (כתוב ב-C#):

public void SetupTest()

{

      DesiredCapabilities capabilities = new DesiredCapabilities();

      capabilities = DesiredCapabilities.Firefox();

      capabilities.SetCapability(CapabilityType.BrowserName, "firefox");

      capabilities.SetCapability(CapabilityType.Platform, new Platform(PlatformType.Windows));

      capabilities.SetCapability(CapabilityType.Version, "21.0");

      driver = new RemoteWebDriver(new URL ("http://<Machine IP>:5556/wd/hub"), capabilities);    //<Machine IP> belongs to the second machine IP Address

       baseURL = "https://www.google.com";

       verificationErrors = new StringBuilder();

}

* שימו לב - מכיוון שבקובץ הקונפיגורציה הגדרנו כי <class name="GridTest" /> , לכן את המתודה שלנו נכתוב תחת אותו שם class (או לחילופין נשנה את השם בקובץ הקונפיגורציה).

כתיבת הטסט:

זהו, כמעט סיימנו, כל מה שנותר הוא לכתוב את הטסט עצמו ב-Selenium , הנה דוגמא לכניסה למנוע החיפוש של גוגל וחיפוש המילה Test:

[Test]

public void GoogleTest()

{

      driver.Navigate().GoToUrl(baseURL + "/");

      driver.FindElement(By.Id("gbqfq")).Clear();

      driver.FindElement(By.Id("gbqfq")).SendKeys("Test");

      driver.FindElement(By.Id("gbqfb")).Click();

}

* שימו לב כי ה- baseURL מוגדר אצלינו תחת ה- SetupTest()

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

 

תוספות:

* באה חברת Codoid , הגדילה לעשות ושיחררה כלי GUI להתקנה והגדרה של Selenium Grid , אז לאלו מכם שלא אוהבים את החלון השחור של ה Command Line, יש לכם אלטרנטיבה שנקראת VisGrid אותה ניתן להוריד כאן (http://www.codoid.com/products/view/2/30)

* ישנן כמה חברות מסחריות שמציעות את טכנולוגיית ה-Grid כשירות אצלם בענן, כך שאת כל נושא האינפלמנטציה הם מסדרים, אתם נחשפים מהם לדף dashboard configuration page , מגדירים את הנתונים שלכם ובלחיצת כפתור מתחיל להריץ. השירות אינו חינמי אך יכול לחסוך לכם זמן רב בהתעסקות עם תחזוקת השרתים, הגדרות והתקנות. הנה כמה מהן:

https://saucelabs.com/selenium/selenium-grid

http://www.perfectomobile.com

https://testingbot.com

https://gridlastic.com

http://www.browserstack.com

 

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

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

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

יוני פלנר.

 

פורסם ב בלוג

בודק - הבן את המודל והאתגרים העיסקיים

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

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

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

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

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

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

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

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

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

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

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

http://www.mkltesthead.com/2013/07/99-ways-workshop-13-understand-business.html

 

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

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

99 Things Testers Can Do To Become Better Testers

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

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

פורסם ב טיפים

איך להתכונן לבחינת ההסמכה של ISTQB Foundation Level

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

המבנה מוסבר באתר של ITCB,
בדף הזה: http://www.itcb.org.il/index.php?option=com_k2&view=item&layout=item&id=11&Itemid=430

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

אני מחכה...

חזרתם? יופי. אפשר להמשיך.

קצת תוספות מידע על ההסבר שבאתר ITCB, ועל הסילבוס:

תוכנית הלימודים להסמכה בסיסית (Foundation Level)

נתחיל בסילבוס.

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

שמעתי לא מעט טענות נגד זה: מה חשוב כל כך לדעת מה כל מושג אומר? למה אני צריך לזכור את זה בעל-פה?

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

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

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

 

K-Levels

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

זה אומר שכדי לענות בהצלחה על שאלות K1 צריך לזכור חומר.

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

בראש כל תת-פרק בחומר הלימוד מופיעה רשימה של "מושגים" (terms). ההגדרה הרשמית של מושגים אלה מופיעה במילון המונחים של ISTQB שקיים גם באנגלית וגם בעברית ב-

http://www.itcb.org.il/index.php?option=com_k2&view=item&layout=item&id=10&Itemid=429

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

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

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

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

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

דוגמה אחרת היא הדרישה שנבחנים ידעו לכתוב דו"ח פגמים (bug report). גם כאן לא תדרשו לכתוב כלום – אלא לבחור איזה מארבע דוחו"ת הוא הטוב ביותר. כתיבת דוחו"ת פגמים (bug reports) בעבודה היום יומית תוך העזרות בחומר הנלמד על מנת שלא לשכוח פרטים נדרשים, תעזור להפנים איך לכתוב נכון דו"ח כזה.

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

סוג נוסף של שאלות K4 הן אלה המתייחס לרמת כיסוי של קוד. ברוב השאלות האלה ניתן קטע קוד קצר ומקרי בדיקה, והשאלה היא איזה רמת כיסוי הושגה. זה אומר שיש ציפייה שתדעו לקרוא קוד. השאלות לא כתובות בשפת תכנות מסויימת אלא בסגנון שקרוי "פסבדו קוד" (pseudo code). כלומר, כללית זה נראה כמו קוד, אבל אין שום מאמץ לשמור על syntax נכון; או שבמקום לכתוב שורות קוד אמיתיות כתוב "do something". מן הסתם, מי שלא למד תכנות אף פעם יתקשה יותר בשאלות אלה. אני מציע לכם (א) תלמדו תכנות בשפה כלשהיא. ידע בסיסי בתכנות זה די דרישת סף בימינו לקבלת עבודה כבודק מקצועי. ו – (ב) תתאמנו קצת על שאלות מסוג זה. אם אין לכם מספיק דוגמאות – תשבו יחד כמה אנשים ותייצרו דוגמאות אחד לשני. זה גם ייתן לכם השתפשפות בקריאת פסבדו-קוד וגם יכין אתכם לשאלות מסוג זה.

 

יעדי הלימוד

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

עוד דבר הקשור ליעדי הלימוד: השאלות בבחינה נכתבות כך שיהיו ברמה של יעד הלימוד (מבחינת K-level). כלומר שאם יעד הלימוד סומן כ – K2, לא תשאל עליו שאלה מסוג
K3, ועקרונית גם לא K1. אני אומר "עקרונית" כי מניסיוני רב השנים בכתיבת וסקירת שאלות, לעיתים קשה מאוד לקבוע אם שאלה מסוימת היא K1 או K2 ואפשר לנהל על זה ויכוח ארוך ומיותר אל תוך הלילה. בקיצור – אם כתוב K2, כדאי לא להזניח את ההגדרות שמופיעות בפרק; וממילא הבנה של נושא מצריכה ידיעה של המושגים המסבירים את אותו נושא.

 

שאלות דוגמה

כתיבת שאלות בחירה היא משימה לא קלה.

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

בקיצור – לא פשוט.

מה שאומר שהרבה מהשאלות שמסתובבות באינטרנט הן ברמה נמוכה יותר ממה שתתקלו בבחינה (קלות מידי; לא מכסות את ה-K level המתאים וכו').

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

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

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

 

ספרים מומלצים

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

http://itcb.org.il/index.php?option=com_k2&view=item&id=151:רשימת-ספרי-בדיקות-מומלצים&Itemid=757

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

 

המלצות כלליות

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

- להשתמש באלימינציה (למחוק תשובות שבוודאי אינן נכונות ולהתלבט רק בין אלו שיתכן שהן נכונות).

- לא להיתקע על שאלה. המבחן אורך 60 דקות (בשפת-אם) או 75 דקות (בשפה שאינה שפת-אם). זה אומר בין דקה או שתיים לשאלה. נתקלתם בשאלה קשה? תדלגו הלאה ותחזרו אליה אחר כך.

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

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

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

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

 

בחינות של ITCB

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

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

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

 

לסיכום: איך להתכונן לבחינה:

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

- לקרוא (רצוי ספר או שניים!)

- לקרוא את הסילבוס יותר מפעם אחת (יש תרגום לעברית!)

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

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

- והדברים הרגילים שקשורים לדרך הלימוד ש"עובדת" עבור אנשים שונים: סיכום בכתב; למידה בקבוצות או עם חברים.

בנוסף, במקרים שיש לכם שאלה (על מושג; על שאלת דוגמה שלא הסכמתם עם פתרונה): אפשר ורצוי לעשות שימוש ברשתות החברתיות הקשורות במקצוע:

 

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

http://www.itcb.org.il/index.php?option=com_k2&view=item&layout=item&id=11&Itemid=430 
(שווה לבדוק מידי פעם אם יש משהו חדש גם ב ISTQB - באתר  http://www.istqb.org/downloads/category/14-exam-documents.html )

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

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

פורום ITCB:

http://itcb.org.il/index.php?option=com_kunena&view=category&catid=1&layout=list&Itemid=379

פורום תפוז:

http://www.tapuz.co.il/Forums2008/forumpage.aspx?forumid=936

וב – Facebook:

https://www.facebook.com/groups/IL.Testing.QA 

 

ITCB-SampleExam1

 

אז שיהיה בהצלחה!

מיכאל שטאל

אחראי על הבחינות ב - ITCB

 

הערה: פוסט זה הוא דעתי הפרטית ואינו מחייב את ITCB או את ISTQB. הוא מפורסם מתוך רצון טוב לעזור, אך אינו התחייבות מבחינת ITCB או ISTQB לפרטי הבחינות.

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

פורסם ב בלוג

כולנו כבר מכירים בחשיבות של פרוייקט אוטומציה שרץ ומתפקד תחת מחלקת ה-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

יוני פלנר.

 

 

פורסם ב בלוג