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

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

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

he icon   en icon

בודק היה ביקורתי אך אל תעביר ביקורת -  Be Critical But do Not Criticize

בודק היה ביקורתי אך אל תעביר ביקורת או תפזר האשמות -  "Be Critical But do Not Criticize" –

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

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

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

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

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

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

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

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

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

זכרו – גם כשאתם מבשרים על באגים – עשו זאת בצורה נעימה.

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

http://www.mkltesthead.com/2013/07/be-critical-but-do-not-criticize-99.html

 

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

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

99 Things Testers Can Do To Become Better Testers

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

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

פורסם ב טיפים

מבט מערכתי לבודקים – 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

יוני פלנר.

 

פורסם ב בלוג
רביעי, 03 דצמבר 2014 13:25

354000Certified testers world-wide

354000 certified testers world-wide!

As of June 2014, ISTQB® has issued almost 354,000 certifications in over 100 countries world-wide, with a growth rate of more than 12,000 certifications per quarter.

See more facts and figures here: http://www.istqb.org/about-istqb/facts-and-figures.html 

 

ISTQB 354K Cert

רביעי, 03 דצמבר 2014 13:14

354000-Certified testers world-wide

354 000 certified testers world-wide!

As of June 2014, ISTQB® has issued almost 354,000 certifications in over 100 countries world-wide, with a growth rate of more than 12,000 certifications per quarter.

See more facts and figures here: http://www.istqb.org/about-istqb/facts-and-figures.html 

 

ISTQB 354K Cert

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

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

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

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

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

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

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

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

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

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

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

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

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 לפרטי הבחינות.

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

פורסם ב בלוג
ראשון, 07 ספטמבר 2014 19:44

בודק - למד להסביר

בודק - למד להסביר

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

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

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

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

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

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

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

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

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

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

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

http://www.mkltesthead.com/2013/07/99-ways-workshop-11-learn-to-explain.html

 

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

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

99 Things Testers Can Do To Become Better Testers

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

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

 Explain Testing

 

פורסם ב טיפים
שבת, 30 אוגוסט 2014 11:09

בודק - למד לשאול – Learn to Question

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

אחת הדרכים הינה ע"י שימוש בשאלות הבהרה ובחינה.

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

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

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

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

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

קם קאנר, ג'יימס באך, ומיכאל בולטון מדגישים את נושא החשיבה הביקורתית (Critical Thinking) – חשיבה בעלת מטרה, בקרה עצמית, המספקת פירוש, ניתוח והסבר לגבי הראיות והשיטות עליהן מתבסס שיפוטנו, והשימוש בשיטות אלו בכדי להתגבר על הטיות כתוצאה משיחוד דעתנו, עיוורון בלתי רצוני, ושימוש בהנחות שאינן מבוססות.
ג'יימס ומיכאל אף כתבו על כך מצגת מעניינת:
 http://www.developsense.com/presentations/2012-11-EuroSTAR-CriticalThinkingForTesters.pdf

ג'יימס נוהג לחלק את בחינת רמת הבנתנו ל-3 קבוצות:

Huh? – האם אני באמת מבין?, האם אנו מדברים על אותו הדבר?, האם הנושא מעורפל?
Really? – מה גורם לי להאמין?, איך אני יודע שמה שנאמר הוא באמת נכון?, האם זה מגובה בעובדות?

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

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

חומר קריאה נוסף:
(שימו לב כי במקרה זה מיכאל תוקף הנושא בצורה שונה מזו בה אני הרחבתי הנושא – ולכן כדאי מאוד לקרוא בנוסף)

http://www.mkltesthead.com/2013/07/99-ways-workshop-11-learn-to-question.html

 

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

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

99 Things Testers Can Do To Become Better Testers

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

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

 No-Comm

 

פורסם ב טיפים