תוכן עניינים ועמודים לדוגמה

‫לחפש באגים‬
‫מדריך מעשי לבודק התוכנה‬
‫מהדורה שלישית‬
‫אוריאלה כהן‬
‫‪Search for Bugs‬‬
‫‪By Uriella Kohn‬‬
‫עריכה לשונית ועיצוב‪ :‬שרה עמיהוד‪ ,‬יצחק עמיהוד‬
‫שמות מסחריים‬
‫שמות המוצרים והשירותים המוזכרים בספר הינם שמות מסחריים רשומים של החברות שלהם‪ .‬הוצאת הוד‪-‬עמי‬
‫עשתה כמיטב יכולתה למסור מידע אודות השמות המסחריים המוזכרים בספר זה ולציין את שמות החברות‪ ,‬המוצרים‬
‫והשירותים‪ .‬שמות מסחריים רשומים )‪ (registered trademarks‬המוזכרים בספר צוינו בהתאמה‪.‬‬
‫הודעה‬
‫ספר זה מיועד לתת מידע אודות מוצרים שונים‪ .‬נעשו מאמצים רבים לגרום לכך שהספר יהיה שלם ואמין ככל שניתן‪,‬‬
‫אך אין משתמעת מכך אחריות כלשהי‪ .‬המידע ניתן "כמות שהוא" )"‪ .("as is‬הוצאת הוד‪-‬עמי אינה אחראית כלפי יחיד‬
‫או ארגון עבור כל אובדן או נזק אשר ייגרם‪ ,‬אם ייגרם‪ ,‬מהמידע שבספר זה‪.‬‬
‫)‪ (C‬כל הזכויות שמורות לאוריאלה כהן ולהוצאת הוד‪-‬עמי‬
‫ת‪.‬ד‪ 6108 .‬הרצליה ‪46160‬‬
‫טלפון‪ 09-9564716 :‬פקס‪09-9571582 :‬‬
‫‪www.hod-ami.co.il‬‬
‫אין להשאיל ו‪/‬או לעשות שימוש מסחרי ו‪/‬או להעתיק‪ ,‬לשכפל‪ ,‬לצלם‪ ,‬לתרגם‪ ,‬להקליט‪ ,‬לשדר‪ ,‬לקלוט ו‪/‬או‬
‫לאחסן במאגר מידע בכל דרך ו‪/‬או אמצעי מכני‪ ,‬דיגיטלי‪ ,‬אופטי‪ ,‬מגנטי ו‪/‬או אחר ‪ -‬בחלק כלשהו מן המידע‬
‫ו‪/‬או התמונות ו‪/‬או האיורים ו‪/‬או כל תוכן אחר הכלולים ו‪/‬או שצורפו לספר זה‪ ,‬בין אם לשימוש פנימי או‬
‫לשימוש מסחרי‪ .‬כל שימוש החורג מציטוט קטעים קצרים במסגרת של ביקורת ספרותית אסור בהחלט‪,‬‬
‫אלא ברשות מפורשת בכתב מהמוציא לאור‪.‬‬
‫הודפס בישראל‪ ,‬יולי ‪2011‬‬
‫מסת"ב‬
‫‪ISBN 978-965-361-390-4‬‬
‫לשם שטף הקריאה כתוב ספר זה בלשון זכר בלבד‪ .‬ספר זה מיועד לגברים ונשים כאחד‬
‫ואין בכוונתנו להפלות או לפגוע בציבור המשתמשים ו‪/‬או המשתמשות‪.‬‬
‫ספר זה מוקדש לסיוון ומוריה‪,‬‬
‫לב‪-‬חיי מרגע לידתן‪ ,‬ואפילו קצת לפני‪...‬‬
‫תודות‬
‫כתיבת הספר הייתה מהנה מאוד כשלעצמה‪ ,‬אבל הביקורת והתמיכה היוו את המרכיבים‬
‫החשובים ביותר באירוע הוצאתו‪ ,‬ועל כך אני מודה למתי כהן על האמון המלא ביכולות‬
‫שלי‪ ,‬לארזה הקר ומלכה חי על הביקורת הבונה שתרמה כה רבות לתוכן הספר‪ .‬תודה‬
‫מיוחדת לספי גלעזר ולאיתמר היידנפלד‪ ,‬המנהלים שלי ב‪ ,V-NESS -‬על האמון והפירגון‪.‬‬
‫תוכן עניינים מקוצר‬
‫הקדמה ‪17 ............................ ................................ ................................‬‬
‫חלק ‪ :1‬הגדרות בסיס ‪21 ...........................................................‬‬
‫פרק ‪ :1‬מושגי יסוד ‪23 .......................................... ................................‬‬
‫חלק ‪ :2‬בדיקות תוכנה )‪39 ................................................ (QC‬‬
‫פרק ‪ :2‬הגדרות בבדיקות ‪41 .................................. ................................‬‬
‫פרק ‪ :3‬מונחים ומושגים בבדיקות ‪47 ....................................................‬‬
‫פרק ‪ :4‬רמות בדיקה ‪49 ......................................... ................................‬‬
‫פרק ‪ :5‬סוגי בדיקות ‪57 ......................................... ................................‬‬
‫פרק ‪ :6‬מתודולוגיה קלאסית ‪75 ............................ ................................‬‬
‫פרק ‪ :7‬סוגי מערכות ‪145 ....................................... ................................‬‬
‫פרק ‪ :8‬מערכת בתחזוקה ‪151 ................................. ................................‬‬
‫פרק ‪ :9‬השפעת מתודולוגיות הפיתוח על הבדיקות ‪157 ..........................‬‬
‫פרק ‪ :10‬תיעדופים ‪165 .......................................... ................................‬‬
‫פרק ‪ :11‬בדיקות יחידה ‪175 ................................... ................................‬‬
‫פרק ‪181 ................................................. ................................ SQL :12‬‬
‫חלק ‪ :3‬הבטחת איכות תוכנה ‪199 ............................................‬‬
‫פרק ‪ :13‬הקדמה ל‪201 .................................... ................................ QA-‬‬
‫פרק ‪ :14‬סטנדרטים ‪205 ......................................... ................................‬‬
‫פרק ‪ :15‬בקרת מסמכים ‪209 .................................. ................................‬‬
‫‪ 6‬לחפש באגים‪ ,‬מהד' ‪3‬‬
‫פרק ‪ :16‬סקר תוצרים ‪213 ..................................... ................................‬‬
‫פרק ‪ :17‬סקירת קוד ‪219 ........................................ ................................‬‬
‫פרק ‪ :18‬ניהול סיכונים ‪223 ................................... ................................‬‬
‫פרק ‪ :19‬בקרת שינויים ‪229 ................................... ................................‬‬
‫פרק ‪ :20‬ניהול גרסאות ‪233 ................................... ................................‬‬
‫פרק ‪ :21‬מדדים ‪239 ............................................... ................................‬‬
‫חלק ‪ QA :4‬ו‪ – QC-‬סיכום ‪257 ................................................‬‬
‫פרק ‪ :22‬הקשר בין הבטחת איכות לבין בדיקות תוכנה ‪259 ....................‬‬
‫פרק ‪ :23‬כלי עזר ‪267 ............................................. ................................‬‬
‫פרק ‪ :24‬מיהו הבודק? ‪271 ..................................... ................................‬‬
‫נספחים ‪273 .......................................................... ................................‬‬
‫מונחים ומושגים ‪343 ............................................. ................................‬‬
‫אינדקס תרשימים וטבלאות ‪345 ............................ ................................‬‬
‫תוכן העניינים ‪7‬‬
‫תוכן העניינים‬
‫הקדמה ‪17 ............................ ................................ ................................‬‬
‫מדוע נכתב הספר ‪17 ......................................................................................................‬‬
‫מה זה הבטחת איכות ובדיקות תוכנה? ‪18 .....................................................................‬‬
‫חלוקה ל‪ QA -‬ו‪19 ................................................................................................. QC-‬‬
‫מבנה הספר ‪20 ...............................................................................................................‬‬
‫חלק ‪ :1‬הגדרות בסיס ‪21 ...........................................................‬‬
‫פרק ‪ :1‬מושגי יסוד ‪23 .......................................... ................................‬‬
‫כללי ‪23 ..........................................................................................................................‬‬
‫מחזור חיי מערכת ‪24 .....................................................................................................‬‬
‫פיתוח ‪24 ..................................................................................................................‬‬
‫תחזוקה ‪26 ................................................................................................................‬‬
‫גורמים מעורבים ‪27 ..................................................................................................‬‬
‫סביבות עבודה ‪28 ..........................................................................................................‬‬
‫מודלים של פיתוח ‪29 .....................................................................................................‬‬
‫מודל המפל )‪29 ...................................................................................... (Waterfall‬‬
‫המודל הספירלי )‪30 ..................................................................................... (Spiral‬‬
‫מודל ‪31 ............................................................................................ (V-Model) V‬‬
‫מודל פיתוח באיטרציות )‪31 ............................................ (Iterative Development‬‬
‫בסיסי נתונים )‪32 ..................................................................................... (Data Bases‬‬
‫מונחים ומושגים ‪34 .......................................................................................................‬‬
‫תוכניות מקוונות )‪34 ............................................................................... (On-Line‬‬
‫עיבודי אצווה )‪34 ......................................................................................... (Batch‬‬
‫קלט‪/‬פלט )‪36 .................................................................................................... (I/O‬‬
‫אינטגרציה ‪36 ...........................................................................................................‬‬
‫מערכות מידע ‪ /‬עיבוד נתונים )‪36 ....................... (IT – Information Technology‬‬
‫מערכות זמן אמת‪/‬משובצות ) ‪36 ........................................ (Real-time/Embedded‬‬
‫ממשקים )‪37 ......................................................................................... (Interfaces‬‬
‫הסבה )‪37 ........................................................................................... (Conversion‬‬
‫‪ 8‬לחפש באגים‪ ,‬מהד' ‪3‬‬
‫חלק ‪ :2‬בדיקות תוכנה )‪39 ................................................ (QC‬‬
‫פרק ‪ :2‬הגדרות בבדיקות ‪41 .................................. ................................‬‬
‫כללי ‪41 ..........................................................................................................................‬‬
‫הגדרת הבדיקות ‪42 ........................................................................................................‬‬
‫מסגרת העבודה ‪42 ....................................................................................................‬‬
‫פשרות ‪44 .................................................................................................................‬‬
‫גישת הבודק ‪45 .........................................................................................................‬‬
‫פרק ‪ :3‬מונחים ומושגים בבדיקות ‪47 ....................................................‬‬
‫בדיקות קופסה לבנה ‪47 .................................................................................................‬‬
‫בדיקות קופסה שחורה ‪47 ..............................................................................................‬‬
‫נתונים סינטטיים ונתוני "אמת" ‪48 ................................................................................‬‬
‫פרק ‪ :4‬רמות בדיקה ‪49 ......................................... ................................‬‬
‫כללי ‪49 ..........................................................................................................................‬‬
‫בדיקות יחידה )‪49 ...................................................................................... (Unit Tests‬‬
‫בדיקות מערכת )‪50 ............................................................................... (System Tests‬‬
‫בדיקות קבלה )‪50 .......................................................................... (Acceptance Tests‬‬
‫בדיקות אינטגרציה )‪51 ................................................................... (Integration Tests‬‬
‫בדיקות רגרסיה )‪52 ........................................................................ (Regression Tests‬‬
‫בדיקות שפיות )‪53 ................................................................................. (Sanity Tests‬‬
‫‪53 ........................................................................................................ Monkey Tests‬‬
‫סיכום רמות בדיקה ‪54 ...................................................................................................‬‬
‫פרק ‪ :5‬סוגי בדיקות ‪57 ......................................... ................................‬‬
‫כללי ‪57 ..........................................................................................................................‬‬
‫בדיקות ‪58 .............................................................. (Graphical User Interface) GUI‬‬
‫בדיקות פונקציונליות )‪60 ............................................................... (Functional Tests‬‬
‫בדיקות תהליכיות )‪63 .......................................................................... (Process Tests‬‬
‫בדיקות התאוששות מנפילות )‪64 .................................. (Failure & Recovery Tests‬‬
‫בדיקות גיבוי ושחזור )‪65 ............................................... (Backup & Recovery Tests‬‬
‫בדיקות התקנה )‪66 ........................................................................ (Installation Tests‬‬
‫בדיקות הסבת נתונים )‪66 .................................................... (Data Conversion Tests‬‬
‫תוכן העניינים ‪9‬‬
‫בדיקות תאימות )‪69 .................................................................. (Compatibility Tests‬‬
‫בדיקות עומסים וביצועים )‪71 .................................................. (Load & Stress Tests‬‬
‫פרק ‪ :6‬מתודולוגיה קלאסית ‪75 ............................ ................................‬‬
‫כללי ‪75 ..........................................................................................................................‬‬
‫פרויקטי בדיקות ‪75 ........................................................................................................‬‬
‫למה צריך מתודולוגיה ‪76 ...............................................................................................‬‬
‫מחזור החיים של הבדיקות ‪77 ........................................................................................‬‬
‫שלב ‪80 .............................................................................. (System Test Plan) STP‬‬
‫לימוד המערכת ‪80 ....................................................................................................‬‬
‫כתיבת מסמך ‪83 ............................................................................................... STP‬‬
‫שאלות ותשובות ‪91 ..................................................................................................‬‬
‫שלב ‪92 ...................................................................... (Software Test Details) STD‬‬
‫הגדרת מקרי בדיקה )‪92 ....................................................................... (Test Cases‬‬
‫תבנית התרחישים במסמך ‪94 .......................................................................... STD‬‬
‫כלי עזר לתכנון וניהול התרחישים )מסמך ‪97 ................................................. (STD‬‬
‫כתיבת התרחישים במסמך ‪101 ......................................................................... STD‬‬
‫שאלות ותשובות ‪104 .................................................................................................‬‬
‫כיצד מחליטים אילו בדיקות להגדיר? ‪106 .......................................................................‬‬
‫טבלת מיפוי פרמטרים ‪106 .........................................................................................‬‬
‫תרשים זרימה ‪108 .....................................................................................................‬‬
‫שאלות ותשובות ‪110 .................................................................................................‬‬
‫דוגמאות למימוש מסמך ‪ STD‬עבור הבדיקות השונות ‪111 .............................................‬‬
‫בדיקת ‪111 ........................................................................................................ GUI‬‬
‫בדיקת פונקציונליות ‪113 ...........................................................................................‬‬
‫בדיקות תהליכיות ‪117 ...............................................................................................‬‬
‫בדיקת שאילתות ‪119 .................................................................................................‬‬
‫בדיקת הרשאות ‪122 ..................................................................................................‬‬
‫בדיקת עיבודי אצווה )‪124 ............................................................................. (Batch‬‬
‫בדיקה התאוששות מנפילות ‪128 ................................................................................‬‬
‫בדיקה על בסיס השוואה ‪130 .....................................................................................‬‬
‫שלב ‪131 ...................................................................... (Software Test Results) STR‬‬
‫בדיקות "שפיות" ]‪132 ............................................................................................ [1‬‬
‫‪ 10‬לחפש באגים‪ ,‬מהד' ‪3‬‬
‫בדיקות "שפיות" ]‪132 ............................................................................................ [2‬‬
‫קביעת תכולת בדיקות ‪132 ........................................................................................‬‬
‫הכנת נתונים ‪133 .......................................................................................................‬‬
‫ביצוע הבדיקות ‪136 ...................................................................................................‬‬
‫דיווח תקלות ‪136 .......................................................................................................‬‬
‫ניהול התקלות ‪139 ....................................................................................................‬‬
‫סיכום ביצוע ‪139 .......................................................................................................‬‬
‫סיכום פרק המתודולוגיה לבדיקות ‪141 ...........................................................................‬‬
‫שאלות ותשובות ‪142 .................................................................................................‬‬
‫פרק ‪ :7‬סוגי מערכות ‪145 ....................................... ................................‬‬
‫כללי ‪145 .........................................................................................................................‬‬
‫מערכות זמן אמת‪/‬משובצות )‪145 ............................................ (RealTime/Embedded‬‬
‫מערכות ‪148 ........................................................................................................... ERP‬‬
‫תוכנות מדף ‪149 .............................................................................................................‬‬
‫פרק ‪ :8‬מערכת בתחזוקה ‪151 ................................. ................................‬‬
‫כללי ‪151 .........................................................................................................................‬‬
‫מערכות בתחזוקה ‪151 ....................................................................................................‬‬
‫מערכת מנוהלת גרסאות ‪151 .....................................................................................‬‬
‫מערכת שאינה מנוהלת גרסאות ‪153 ..........................................................................‬‬
‫מערכת עם מערך בדיקות מלא ומקיף ‪154 .................................................................‬‬
‫מערכת ללא מערך בדיקות מלא ‪155 ..........................................................................‬‬
‫שיפור מערך הבדיקות למערכת בתחזוקה ‪155 ...........................................................‬‬
‫פרק ‪ :9‬השפעת מתודולוגיות הפיתוח על הבדיקות ‪157 ..........................‬‬
‫כללי ‪157 .........................................................................................................................‬‬
‫פיתוח באיטרציות ‪157 ....................................................................................................‬‬
‫פיתוח בשיטת ‪159 ................................................................................................ UML‬‬
‫רצף ‪163 .............................................................................................................. UC‬‬
‫מיפוי ‪164 ........................................................................................................... UC‬‬
‫פרק ‪ :10‬תיעדופים ‪165 .......................................... ................................‬‬
‫כללי ‪165 .........................................................................................................................‬‬
‫תוכן העניינים ‪11‬‬
‫שיטות לחישוב ערכי תיעדוף ‪167 ....................................................................................‬‬
‫תיעדופים בתהליך הבדיקות ‪168 .....................................................................................‬‬
‫תיעדוף נושאי הבדיקה ‪169 ........................................................................................‬‬
‫שימושים ‪169 ..................................................................................................................‬‬
‫פרמטרים לדוגמה‪169 .....................................................................................................‬‬
‫תיעדוף טבלת הפרמטרים ‪170 ...................................................................................‬‬
‫מטרה ‪170 .......................................................................................................................‬‬
‫פרמטרים לדוגמה‪170 .....................................................................................................‬‬
‫תיעדוף תרחישי הבדיקות ‪171 ...................................................................................‬‬
‫מטרה ‪171 .......................................................................................................................‬‬
‫פרמטרים לדוגמה‪172 .....................................................................................................‬‬
‫תיעדופים בתהליך הפיתוח ‪174 .......................................................................................‬‬
‫פרק ‪ :11‬בדיקות יחידה ‪175 ................................... ................................‬‬
‫כללי ‪175 .........................................................................................................................‬‬
‫בדיקות כיסוי ‪176 ...........................................................................................................‬‬
‫מעבר על מסלולים לוגיים )‪177 ............................................................. (Logical Paths‬‬
‫בדיקות פונקציונליות ביחידת קוד ‪177 ...........................................................................‬‬
‫שימוש בטבלת החלטות ‪178 ...........................................................................................‬‬
‫המלצה ‪178 .....................................................................................................................‬‬
‫פרק ‪181 ................................................. ................................ SQL :12‬‬
‫כללי ‪181 .........................................................................................................................‬‬
‫טבלאות ‪182 ....................................................................................................................‬‬
‫שאילתות )‪185 .............................................................................................. (SELECT‬‬
‫מבנה כללי ‪185 ..........................................................................................................‬‬
‫הדפסה חלקית )‪187 ........................................................................... (Top/Bottom‬‬
‫הדפסה עם פעולות אריתמטיות ‪187 ..........................................................................‬‬
‫הדפסה ללא כפילויות ‪188 .........................................................................................‬‬
‫שאילתה עם סינון )‪188 ............................................................................ (WHERE‬‬
‫שאילתה עם מיון )‪190 ....................................................................... (ORDER BY‬‬
‫שימוש ב‪191 .............................................................................................. ALIAS -‬‬
‫‪191 ................................................................................................ SELECT INTO‬‬
‫פונקציות מובנות ‪192 .....................................................................................................‬‬
‫‪ 12‬לחפש באגים‪ ,‬מהד' ‪3‬‬
‫‪193 ............................................................................................... Group By / Having‬‬
‫אגרגציה‪/‬קיבוץ )‪193 .......................................................................... (GROUP BY‬‬
‫סינון קבוצות )‪194 .................................................................................. (HAVING‬‬
‫צירופים )‪194 ....................................................................................................... (JOIN‬‬
‫צירוף רגיל )‪195 ............................................................................... (INNER JOIN‬‬
‫צירופים מיוחדים )‪196 ............................................ (LEFT JOIN / RIGHT JOIN‬‬
‫‪196 ................................................................................................ CREATE / DROP‬‬
‫‪197 ................................................................... INSERT / UPDATE / DELETE‬‬
‫‪197 ................................................................................................................... INSERT‬‬
‫‪197 .......................................................................................................... UPDATE‬‬
‫‪197 ........................................................................................................... DELETE‬‬
‫חלק ‪ :3‬הבטחת איכות תוכנה ‪199 ............................................‬‬
‫פרק ‪ :13‬הקדמה ל‪201 .................................... ................................ QA-‬‬
‫מטרה ‪201 .......................................................................................................................‬‬
‫פרק ‪ :14‬סטנדרטים ‪205 ......................................... ................................‬‬
‫מטרה ‪205 .......................................................................................................................‬‬
‫סטנדרטים בקוד ‪206 .......................................................................................................‬‬
‫סטנדרטים במסמכי מערכת ‪207 ......................................................................................‬‬
‫פרק ‪ :15‬בקרת מסמכים ‪209 .................................. ................................‬‬
‫מטרה ‪209 .......................................................................................................................‬‬
‫התהליך ‪211 ....................................................................................................................‬‬
‫פרק ‪ :16‬סקר תוצרים ‪213 ..................................... ................................‬‬
‫המטרה ‪213 .....................................................................................................................‬‬
‫התהליך ‪213 ....................................................................................................................‬‬
‫המגבלות ‪214 ..................................................................................................................‬‬
‫פרק ‪ :17‬סקירת קוד ‪219 ........................................ ................................‬‬
‫המטרה ‪219 .....................................................................................................................‬‬
‫התהליך ‪220 ....................................................................................................................‬‬
‫תוכן העניינים ‪13‬‬
‫המגבלות ‪221 ..................................................................................................................‬‬
‫פרק ‪ :18‬ניהול סיכונים ‪223 ................................... ................................‬‬
‫המטרה ‪223 .....................................................................................................................‬‬
‫התהליך ‪224 ....................................................................................................................‬‬
‫זיהוי סיכונים ‪224 ......................................................................................................‬‬
‫קביעת פעולה לכל סיכון ‪226 .....................................................................................‬‬
‫מעקב סיכונים ‪227 ....................................................................................................‬‬
‫פרק ‪ :19‬בקרת שינויים ‪229 ................................... ................................‬‬
‫המטרה ‪229 .....................................................................................................................‬‬
‫התהליך ‪230 ....................................................................................................................‬‬
‫הגדרת מקורות השינויים והתוספות ‪230 ...................................................................‬‬
‫הגדרת מסגרת לאיסוף בקשות לשינויים ותוספות‪ ,‬ודיווח תקלות ‪231 ......................‬‬
‫הגדרת נוהל לקביעת תכולת גרסה ‪231 ......................................................................‬‬
‫הגדרת נוהל למעקב ביצוע תכולת גרסה ‪232 .............................................................‬‬
‫הגדרת מסלול מיוחד לתיקוני חירום ‪232 ...................................................................‬‬
‫פרק ‪ :20‬ניהול גרסאות ‪233 ................................... ................................‬‬
‫כללי ‪233 .........................................................................................................................‬‬
‫ניהול גרסאות רכיבי המערכת ‪233 ..................................................................................‬‬
‫מהם רכיבי המערכת ‪233 ...........................................................................................‬‬
‫מהן "גרסאות" תוכנה ‪233 ..........................................................................................‬‬
‫מתי ואיך משתנות הגרסאות ‪234 ...............................................................................‬‬
‫תבנית מספרי הגרסאות ‪235 ......................................................................................‬‬
‫מה כרוך בניהול הגרסאות ‪236 ...................................................................................‬‬
‫ניהול סביבות עבודה ‪237 ................................................................................................‬‬
‫פרק ‪ :21‬מדדים ‪239 ............................................... ................................‬‬
‫כללי ‪239 .........................................................................................................................‬‬
‫שיטה למציאת מדדים לשיפור תוצר או תהליך ‪240 .........................................................‬‬
‫הגדרת יעדים ‪240 ......................................................................................................‬‬
‫הגדרת שאלות להשגת היעדים ‪241 ............................................................................‬‬
‫זיהוי מדדים ‪242 ........................................................................................................‬‬
‫‪ 14‬לחפש באגים‪ ,‬מהד' ‪3‬‬
‫מעקב‪ ,‬ניתוח וטיפול ‪245 ...........................................................................................‬‬
‫שיטה להגדרת מדדים לצורך החלטה ‪250 ........................................................................‬‬
‫דוגמאות למדדים ‪251 .....................................................................................................‬‬
‫מדדים לאיכות מסמכי הדרישות והאפיון ‪251 ............................................................‬‬
‫אחוז המשפטים הכלליים במסמך‪251 ............................................................................‬‬
‫יחס זמן כתיבת שינויים למסמכי האפיון לעומת הזמן הכולל לפרויקט ‪252 .................‬‬
‫זמן המושקע בתיקוני קוד בגין אי‪-‬הבנת האפיון‪252 .....................................................‬‬
‫מדדים המציגים את איכות הקוד ‪252 ........................................................................‬‬
‫אחוז העמידה בסטנדרטים ‪252 ......................................................................................‬‬
‫כמה זמן מושקע בביצוע תיקון לקוד ‪252 ......................................................................‬‬
‫מדדים המציגים את איכות המערכת ‪253 ...................................................................‬‬
‫לפי מודל ‪253 ..................................................................................................................‬‬
‫מדד איכות מערכת לפי תקלות ‪254 ...............................................................................‬‬
‫מדדים המציגים את איכות הבדיקות ‪256 ..................................................................‬‬
‫חלק ‪ QA :4‬ו‪ – QC-‬סיכום ‪257 ................................................‬‬
‫פרק ‪ :22‬הקשר בין הבטחת איכות לבין בדיקות תוכנה ‪259 ....................‬‬
‫כללי ‪259 .........................................................................................................................‬‬
‫הערכת פעילות הבדיקות כמערך אוטונומי ‪259 ...............................................................‬‬
‫ניהול סיכונים ‪263 ..........................................................................................................‬‬
‫שיתוף מידע ‪264 .............................................................................................................‬‬
‫אחריות על סביבת העבודה ‪265 ......................................................................................‬‬
‫הדרכת הבודקים ‪266 .......................................................................................................‬‬
‫פרק ‪ :23‬כלי עזר ‪267 ............................................. ................................‬‬
‫כלי עזר לבדיקות ‪267 ......................................................................................................‬‬
‫כלים לניהול בדיקות ‪267 ...........................................................................................‬‬
‫כלים לניהול תקלות ‪267 ............................................................................................‬‬
‫כלים לבדיקות אוטומטיות ‪268 ..................................................................................‬‬
‫כלים לסימולציה של עומסים ‪269 ..............................................................................‬‬
‫כלי להבטחת כיסוי של שורות קוד ‪269 .....................................................................‬‬
‫כלי עזר אחרים ‪269 .........................................................................................................‬‬
‫כלים לניהול מסמכים ‪269 .........................................................................................‬‬
‫תוכן העניינים ‪15‬‬
‫כלים לניהול שינויים ‪270 ...........................................................................................‬‬
‫כלים לניהול סיכונים ‪270 ..........................................................................................‬‬
‫פרק ‪ :24‬מיהו הבודק? ‪271 ..................................... ................................‬‬
‫נספחים ‪273 .......................................................... ................................‬‬
‫נספח‬
‫נספח‬
‫נספח‬
‫נספח‬
‫נספח‬
‫א' – אפיון מערכת עו"ש ‪275 .................................................................................‬‬
‫ב' – מסמך ‪ STP‬למערכת עו"ש ‪287 ......................................................................‬‬
‫ג' – מסמך ‪ STD‬למערכת עו"ש ‪299 ......................................................................‬‬
‫ד' – תבנית דוגמה למסמך ‪337 ..................................................................... STR‬‬
‫ה' – תבנית דוגמה לטופס סיכום בקרת תוצרים ‪341 .............................................‬‬
‫מונחים ומושגים ‪343 ............................................. ................................‬‬
‫אינדקס תרשימים וטבלאות ‪345 ............................ ................................‬‬
‫תרשימים ‪345 ............................................................................................................‬‬
‫טבלאות ‪346 ..............................................................................................................‬‬
‫‪ 16‬לחפש באגים‪ ,‬מהד' ‪3‬‬
‫הקדמה‬
‫מדוע נכתב הספר‬
‫הסיבה לכתיבת הספר נובעת בעיקר מנושאי העיסוק שלי משך השנים‪ ,‬ומההכרה שאין‬
‫ספרים מתאימים בעברית בנושאי הבטחת איכות ובדיקות תוכנה‪ ,‬ובעיקר – לא ספרים‬
‫מעשיים‪ ,‬הנותנים את ההיבט המעשי לנושאים אלה‪ ,‬ומענה לשאלה "מה בדיוק אני צריך‬
‫לעשות כדי לבדוק תוכנה?"‪ .‬מהדורה שלישית זו היא מהדורה מורחבת הכוללת היבטים‬
‫נוספים החשובים לבודק‪ ,‬כמו‪ SQL :‬ועבודה עם או בלי גרסאות‪.‬‬
‫אתחיל בהצגה עצמית‪ :‬את הקריירה שלי בעולם המחשבים התחלתי כמפתחת‪ ,‬כאשר‬
‫עוד היו בארץ ‪ 5‬מחשבי‪-‬על גדולים‪ ,‬וכאשר חברות קנו שעות שימוש בהם‪ .‬אחרי ‪25‬‬
‫שנים בפיתוח – כתוכניתנית‪ ,‬כמנתחת מערכות וכמנהלת פרויקטים על מערכות שונות‪,‬‬
‫מחשבים שונים וטכנולוגיות מגוונות – "נפלתי" במקרה לנושא הבדיקות‪ .‬זו הייתה‬
‫תגלית נהדרת עבורי‪ :‬גיליתי נושא חדש ומלהיב הדורש יצירתיות רבה מאוד‪.‬‬
‫במשך ‪ 15‬שנות עבודתי בנושא זה ביצעתי עבודות שונות‪ :‬בדקתי מערכות‪ ,‬ניהלתי‬
‫פרויקטי בדיקות והקמתי מערכי איכות בארגונים‪ .‬כיום אני משמשת כמתודולוגית‬
‫הראשית באחת מחברות ההי‪-‬טק הגדולות בארץ‪ ,‬ומלמדת בקורסים המכשירים בודקי‬
‫תוכנה‪ .‬בעקבות העיסוקים המגוונים שלי‪ ,‬נתקלתי לא פעם בעובדה שחסר חומר ראוי‬
‫כתוב בנושא‪ .‬קיימת ספרות תיאורטית רבה‪ ,‬אך היא אינה מייצגת את עולם הבדיקות‬
‫בפועל‪ .‬הידע של "מה עושים‪ ,‬איך ומתי" עובר בעיקר מפה‪-‬לאוזן ונרכש דרך הניסיון‪ .‬כל‬
‫אלה תרמו ללידת הרעיון לכתיבת ספר זה‪.‬‬
‫מבחינת תוכנו של הספר‪ ,‬אני חייבת לציין מספר נקודות חשובות‪:‬‬
‫‪ .1‬על כל שאלה בה נתקלתי‪ ,‬מצאתי אמנם אוסף גדול מאוד של מידע‪ ,‬אם בספרים‬
‫ואם במאמרים רבים באינטרנט‪ ,‬אבל כל אחד שונה מהשני‪ .‬אין זה מצביע על כך‬
‫שמקור אחד הוא נכון ואחר שגוי – כולם היו נכונים! הסיבה למגוון הרב של‬
‫הגישות לבדיקות תוכנה היא בכך שנושא הבטחת האיכות ובדיקות התוכנה איננו‪,‬‬
‫ולא יכול להיות – מוגדר תחת מסגרת חוקי פעולה קבועים ונוקשים‪ .‬כל העבודה‬
‫והפעילות בנושאים אלה חייבת להיות מותאמת לאוסף של פרמטרים המגדירים את‬
‫הארגון‪ ,‬את המערכת‪ ,‬צורת העבודה‪ ,‬הדרישות וכו'‪ .‬כלומר‪ :‬כדי להחליט כיצד‬
‫הקדמה ‪17‬‬
‫לבדוק מערכת מסוימת – חייבים להגדיר תחילה את הפרמטרים המעורבים )כמו‪:‬‬
‫סוג המערכת‪ ,‬האם היא חדשה‪ ,‬מתוחזקת או תוכנת מדף מותאמת וכו'(‪ ,‬ולהפעיל‬
‫הרבה דמיון ויצירתיות כדי לבנות את הדרך היעילה ביותר לבדוק אותה‪.‬‬
‫‪ .2‬לאור מה שציינתי קודם – ייתכן שתמצאו בספר זה נושאים אשר התייחסותי‬
‫אליהם לא תהיה תואמת למקורות מידע אחרים בהם תיתקלו‪ .‬במקרה זה זכרו רק‪,‬‬
‫שההתאמה היא תמיד לאוסף הפרמטרים המגדיר את צורכי העבודה שלכם‪ .‬ספר זה‬
‫נותן לכם את הגישה המעשית‪ ,‬וכלים לביצוע החלטות ושינויים‪ ,‬כאשר נדרש‪.‬‬
‫‪ .3‬הספר תוכנן ונכתב בצורה מעשית‪ ,‬שתוכל לא רק לספק מידע על הנושא‪ ,‬אלא גם‬
‫לתרום לעבודה השוטפת‪ ,‬לכל בודק ואיש הבטחת איכות‪ ,‬בכל ארגון ולכל מערכת‪.‬‬
‫כל אלה – על בסיס ניסיוני האישי בעבודה עם ארגונים שונים ועם מערכות שונות‪.‬‬
‫מה זה הבטחת איכות ובדיקות תוכנה?‬
‫אתחיל דווקא עם כמה עובדות עצובות‪:‬‬
‫סטטיסטיקות אחרונות טוענות שגלישה של ‪ 100-200%‬בזמני פיתוח ובתקציב הפיתוח‬
‫של מערכות תוכנה היא גלישה כמעט מקובלת‪ .‬יחד עם זאת – מפתחים עדיין "מבזבזים"‬
‫‪ 34%‬מזמנם על תיקוני תקלות‪.‬‬
‫מכאן אפשר להבין שני דברים מרכזיים‪ :‬האחד‪ ,‬שכנראה משהו לא בדיוק תקין בתהליך‬
‫פיתוח התוכנה‪ ,‬אם הגלישה בלו"ז ובתקציב היא כל כך גדולה; והשני‪ ,‬שאיכות המערכות‬
‫– למרות הגלישה – עדיין נמוכה‪ ,‬אם שליש מזמן המפתחים "מבוזבז" על תיקוני תקלות‪.‬‬
‫נושא הבטחת איכות ובדיקות תוכנה מיועד לשפר את שני הליקויים האלה‪ :‬גם לשפר‬
‫את תהליך הפיתוח על כל שלביו‪ ,‬וגם להבטיח איכות טובה יותר למערכות המפותחות‪.‬‬
‫ובוודאי תקשו ותאמרו‪ :‬אם הסטטיסטיקה הזו עדיין שרירה וקיימת – אז אולי המצב לא‬
‫בדיוק משתפר עם הבטחת האיכות ובדיקות התוכנה?‬
‫ובכן‪ ,‬בתקופה בה החלו לפתח מערכות בסדרי גודל משמעותיים‪ ,‬השתמשו במחשבי‪-‬על‬
‫הנחשבים עד היום למחשבים יציבים‪ ,‬בשפות תכנות כמו ‪ Cobol‬שעברה כבר דרך ארוכה‬
‫של ייצוב‪ ,‬וטכנולוגיות פשוטות יחסית‪ .‬ואולי יותר מכל – המשתמשים היו מוכנים לקבל‬
‫כל דבר‪ .‬באותם זמנים אם הייתה בעיה כלשהי עם התוכנה – ב‪ 99%-‬מהמקרים הדבר‬
‫‪ 18‬לחפש באגים‪ ,‬מהד' ‪3‬‬
‫נבע משורת קוד לא תקינה‪ .‬כל נושא הבדיקות אמנם לא היה קיים באופן רשמי‪ ,‬אבל‬
‫הבטחת תפקוד המערכות היה פשוט למדי‪.‬‬
‫כיום המצב מאוד שונה‪ ,‬בשני היבטים עיקריים‪ :‬האחד‪ ,‬הטכנולוגיות מורכבות יותר‪ ,‬כלי‬
‫הפיתוח משתנים ומתחלפים בקצב מסחרר‪ ,‬והדבר אינו מאפשר לאף אחד מהם להגיע‬
‫למצב של יציבות‪ ,‬והלקוחות או המשתמשים דורשים איכות‪ .‬השני‪ ,‬מערכות תוכנה הפכו‬
‫לחלק מרכזי כמעט בכל דבר שאנו עושים בחיי היום‪-‬יום שלנו – אם זה הטלפון‬
‫הסלולארי בו אנו משתמשים‪ ,‬הרכבות המנוהלות על ידי מחשב‪ ,‬חשבון הבנק שלנו‬
‫ואפילו מנוע המכונית‪ .‬במצב כזה‪ ,‬הנזק אשר מערכות לא תקינות יכול לגרום הוא עצום‬
‫– כלכלית‪ ,‬חברתית ואפילו בהשפעתו על חיי אדם‪.‬‬
‫יחד עם כל זה – המצב משתפר )היה בהחלט גרוע יותר‪ ,(...‬אבל התהליך איטי‪ ,‬בעיקר‬
‫בגין החדירה האיטית של הנושא למודעות הארגונים ולמוכנות שלהם להשקיע בו‪.‬‬
‫כשעזבתי את עבודתי בפיתוח לטובת הבדיקות‪ ,‬ניגשתי לחברה הקודמת בה עבדתי‬
‫)שפיתחה מערכות לבנקים קטנים( ואמרתי לבוס שם‪" :‬מדוע לא תביא את התוכנה שלך‬
‫לבדיקות? היא הרי מלאה תקלות!" הוא ענה‪" :‬בשביל מה? הלקוח יתלונן – אז נתקן!"‬
‫גישה כזו – כבר אינה מתקבלת כיום‪ ,‬ולקוחות דורשים יותר איכות‪.‬‬
‫מידע נוסף‪ :‬כשהתחלתי לעסוק בנושא זה‪ ,‬ההשקעה בבדיקות תוכנה היוותה ‪ 5-7%‬מכלל‬
‫עלות פרויקט הפיתוח‪ .‬כיום‪ 12 ,‬שנים מאוחר יותר‪ ,‬הממוצע עומד על ‪ ,30%‬כאשר‬
‫בארגונים מסוימים ההשקעה מגיעה גם ל‪ .50%-‬ולדעתי – היד עוד נטויה‪.‬‬
‫חלוקה ל‪ QA -‬ו‪QC-‬‬
‫כפי שניתן לראות מהכותרת – הנושא מורכב משני חלקים‪ :‬הבטחת איכות תוכנה )‪,(QA‬‬
‫ובדיקות תוכנה )‪ .(QC‬אלה הם שני מושגים שונים‪:‬‬
‫הבטחת איכות תוכנה – ‪ (Quality Assurance) QA‬מיועדת לצמצם נזקים בתהליך‬
‫הפיתוח על כל שלביו‪ :‬גורמים רבים ושונים מעורבים בפיתוח המערכת‪ ,‬במהלכו‬
‫מתקבלות החלטות טכניות שונות‪ ,‬עומדים בפני מצבים רבים לא צפויים והרבה מאוד‬
‫אפשרויות‪ .‬כל אלה מייצגים מערך שיכול להיות מאוד בעייתי אם אינו מתבצע באופן‬
‫תקין ומסודר‪ .‬הבטחת איכות צריכה להבטיח תהליך כזה‪ ,‬והנושא מורכב מפעולות מנע‪,‬‬
‫כלומר – פעולות שמכוונות למנוע נזקים – אם לאיכות המערכת הנבנית או ללוחות‬
‫הזמנים ולתקציב‪.‬‬
‫הקדמה ‪19‬‬
‫בדיקות תוכנה – ‪ (Quality Control) QC‬מיועדות לזהות תקלות בתוצר הסופי‪ :‬המערכת‬
‫תוכננה ופותחה‪ ,‬היא כבר קיימת ופועלת לכאורה‪ .‬תפקיד הבדיקות הוא גם לגלות בה‬
‫תקלות )פעילות לא תקינה( וגם לזהות אי‪-‬התאמות בין התכנון לבין התוצר הסופי הפועל‪.‬‬
‫בספר זה אתייחס לשני הנושאים הללו‪ ,‬אם כי הדגש יהיה על בדיקות התוכנה‪.‬‬
‫מבנה הספר‬
‫מטרת הספר להסביר בצורה מעשית ומפורטת את נושא הבטחת איכות ובדיקות‬
‫התוכנה‪ ,‬לעזור לבודק הפוטנציאלי להגיע למצב שיידע בדיוק מה הוא אמור לבצע‬
‫בתפקידו החדש‪ .‬הספר מורכב ממספר חלקים‪ ,‬ובכל חלק פרקים אחדים‪:‬‬
‫חלק ‪ – 1‬כולל הקדמה חשובה של הגדרות בסיס והסבר על תהליך פיתוח תוכנה‪ .‬הבנת‬
‫מערך הפיתוח הכרחית עבור הבודק בפעילותו‪.‬‬
‫חלק ‪ – 2‬הוא החלק המרכזי של הספר‪ ,‬ומטפל בנושא בדיקות התוכנה‪ .‬הוא פותח‬
‫בהגדרות ובמונחים מעולם הבדיקות‪ .‬בהמשך הוא מתאר ומלמד את מתודולוגיית‬
‫הבדיקות‪ .‬המתודולוגיה מוסברת בעזרת מערכת עזר המוגדרת בנספחים‪ ,‬כאשר כל‬
‫הדוגמאות מתייחסות אליה לצורך המחשה והדגמה של יישום המתודולוגיה‪ .‬פרקים‬
‫אחרים בחלק זה מתארים מצבים שונים הדורשים התאמות למתודולוגיה‪ ,‬בשל סוגי‬
‫מערכות שונים או שיטות פיתוח המשפיעות על צורת הבדיקות‪.‬‬
‫פרק נוסף דן גם בנושא התיעדוף‪ .‬הקדשתי לנושא זה פרק מיוחד עקב החשיבות שאני‬
‫רואה בו‪ :‬בדיקות מאופיינות בכך שהן כרוכות בהרבה פשרות‪ ,‬ושיטת התיעדופים‬
‫מבטיחה שפשרות אלו תהיינה "חכמות"‪ ,‬ולא תגרורנה סיכונים מיותרים‪.‬‬
‫חלק ‪ – 3‬עוסק בפעולות הבטחת איכות שונות‪ .‬כל פרק בחלק זה מתאר פעילות הבטחת‬
‫איכות אחרת‪ .‬כל הפעילויות קשורות לשלבים השונים של פיתוח תוכנה ובדיקות‪.‬‬
‫חלק ‪ – 4‬מסכם את נושאי הבטחת איכות ובדיקות התוכנה‪ ,‬וכולל פרק על הקשר בין‬
‫תהליך הבדיקות לפעולות הבטחת איכות‪ ,‬הסבר על פעולות האיכות הייחודיות לבדיקות‪,‬‬
‫תיאור קצר של כלי העזר הקשורים לתהליך בדיקות תוכנה‪ ,‬ולסיכום – הגדרת ה"בודק"‪:‬‬
‫מיהו‪ ,‬ומהן התכונות הנדרשות ממנו‪.‬‬
‫בסוף הספר נמצא את חלק הנספחים‪ ,‬אשר כולל את אפיון מערכת העזר אשר שימשה‬
‫להסבר מתודולוגיית הבדיקות‪ ,‬את מערך הבדיקות המלא עבורה וגם טבלת ריכוז‬
‫מונחים ומושגים‪ ,‬ואינדקס תרשימים וטבלאות‪.‬‬
‫‪ 20‬לחפש באגים‪ ,‬מהד' ‪3‬‬
‫חלק ‪1‬‬
‫הגדרות בסיס‬
‫‪21‬‬
‫‪ 22‬חלק ‪ :1‬הגדרות בסיס‬
‫פרק ‪ :1‬מושגי יסוד‬
‫כללי‬
‫מהי בעצם "מערכת"? מערכת היא אוסף של תוכניות מחשב‪ ,‬בשילוב עם הגדרות של‬
‫מאגרי נתונים מתאימים‪) .‬על פי ויקיפדיה‪ ,‬תוכנית מחשב היא "רצף של הוראות בשפת‬
‫תכנות כלשהי‪ ,‬שנועדו לבצע משימה מסוימת‪ ,‬קטנה או גדולה‪ ,‬במחשב"(‪.‬‬
‫ומהי "מערכת איכותית"? הגיוני לומר שמערכת איכותית היא מערכת אשר המשתמש‬
‫)הלקוח( מרוצה ממנה‪ ,‬אבל זו הגדרה כללית מדי‪ ,‬כי מה בעצם יגרום לשביעות רצון‬
‫הלקוח מהמערכת?‬
‫אני מגדירה זאת מארבעה היבטים‪:‬‬
‫‪ .1‬המערכת עושה את מה שנתבקשה לעשות‪ :‬הפעולות שהיא מבצעת תואמות‬
‫לדרישות‪ ,‬המראה שלה נוח לשימוש וקל ללמוד אותה‪.‬‬
‫‪ .2‬אין במערכת תקלות קריטיות או חמורות‪ .‬שימו לב שלא כתבתי "אין בה תקלות"‪ ,‬כי‬
‫במציאות – מצב כזה כמעט ולא קיים‪ .‬המצב שאנו שואפים אליו הוא‪ ,‬שאם קיימות‬
‫תקלות במערכת‪ ,‬הן תהיינה מזעריות וכאלו שאינן מפריעות לעבודה השוטפת עם‬
‫המערכת ולביצועי המשתמשים‪.‬‬
‫‪ .3‬המערכת פותחה בזמן ובתקציב שהוגדרו עבורה‪ .‬מערכת שעלתה ‪ 200%‬או ‪300%‬‬
‫יותר ממה שהלקוח הקציב‪ ,‬גורמת לו לנזקים‪ ,‬ולכן איננה מוגדרת כאיכותית )כיצד‬
‫תתייחסו לטלוויזיה שעלתה לכם כפול או פי שלוש ממה שהיא בדרך‪-‬כלל עולה?‬
‫האם לא תצפו שבמחיר ששילמתם תקבלו יותר?(‪.‬‬
‫‪ .4‬מערכת אשר ניתנת לתחזוקה קלה וזולה‪ ,‬כלומר‪ :‬אם במהלך השנים יהיה צורך‬
‫לשנות אותה או להוסיף לה חלקים – זה יהיה קל וישים במחיר סביר‪.‬‬
‫פרק ‪ :1‬מושגי יסוד ‪23‬‬
‫פרק ‪ :6‬מתודולוגיה קלאסית‬
‫כללי‬
‫פרק זה מוקדש להסברים ודוגמאות של המתודולוגיה הקלאסית לבדיקות‪ .‬בנושא‬
‫בדיקות תוכנה יש ארגונים אשר התאימו לעצמם שיטות עבודה אחרות שאולי יותר‬
‫נוחות להם מסיבות שונות‪ ,‬אבל ככלל‪ ,‬השיטה הנפוצה ביותר בארץ ובעולם היא השיטה‬
‫המתוארת כאן‪ .‬בדרך כלל גם ההתאמות האחרות עדיין מתבססות עליה‪.‬‬
‫פרויקטי בדיקות‬
‫כמעט בכל ארגון – יהיה זה בית תוכנה‪ ,‬בנק או מפעל – הכולל קבוצת פיתוח תוכנה‪ ,‬יש‬
‫גם קבוצה הנקראת ‪ ,(Quality Assurance) QA‬הבטחת איכות‪ .‬בחלק מהארגונים‪ ,‬קבוצה‬
‫זו כוללת רק בודקים‪ ,‬וכל הפעילויות שהיא מבצעת קשורות לבדיקת המערכות‬
‫המפותחות או מתוחזקות‪ .‬בארגונים אחרים‪ ,‬קבוצה זו מיועדת לביצוע ומעקב אחר‬
‫פעולות הבטחת איכות כלליות‪ ,‬ויש ארגונים שבהם קבוצת ‪ QA‬עוסקת גם בהבטחת‬
‫האיכות הכוללת וגם בבדיקות תוכנה‪.‬‬
‫בדיקות התוכנה בכל אחד מהארגונים האלה יתבצעו עבור כל מערכת‪ ,‬על פי מתודולוגיה‬
‫כלשהי שהוגדרה שם‪ ,‬בדרגות יעילות שונות‪ .‬הבדיקות מתבצעות בחלק מהארגונים‬
‫כהמשכיות ו"נגררת" של תהליך הפיתוח‪ ,‬ולפעמים כפרויקט בפני עצמו‪.‬‬
‫בדיוק כפי שמנהלים פרויקטי פיתוח‪ ,‬כך צריך גם לנהל פרויקטי בדיקות‪ .‬פרויקט‬
‫משמעותו ניהול עצמאי ושלם של התהליך על כל שלביו‪ ,‬כולל בקרה על התהליך והפקת‬
‫תוצרים‪.‬‬
‫בפרויקט בדיקות יש מספר גורמים מעורבים‪ ,‬על פי רמת הבדיקות‪:‬‬
‫‪ .1‬בדיקות מערכת )מסירה(‪:‬‬
‫בודק‪ :‬הבדיקות נעשות על ידי בודק אחד או יותר‪ ,‬כתלות בגודל ובמורכבות המערכת‪.‬‬
‫כאשר יש יותר מבודק אחד‪ ,‬קיים גם תפקיד של ראש‪-‬צוות או מנהל פרויקט‪.‬‬
‫פרק ‪ :6‬מתודולוגיה קלאסית ‪75‬‬
‫מנהל הפיתוח‪ :‬הוא הלקוח שעבורו מתבצעות הבדיקות‪.‬‬
‫מתכנת‪ :‬יש פרויקטי בדיקות הדורשים גם עבודות תכנות לצורך הכנה של נתונים‪,‬‬
‫השוואה בין עיבודים וכו'‪.‬‬
‫‪ .2‬בדיקות קבלה‪:‬‬
‫בודק‪ :‬הבדיקות נעשות על ידי בודק אחד או יותר‪ ,‬כתלות בגודל ובמורכבות המערכת‪.‬‬
‫כאשר יש יותר מבודק אחד‪ ,‬יש צורך גם בתפקיד של ראש‪-‬צוות או מנהל פרויקט‪.‬‬
‫מנהל המוצר או נציג משתמשים‪ :‬הוא הלקוח שעבורו מתבצעות הבדיקות‪.‬‬
‫מתכנת‪ :‬יש פרויקטי בדיקות הדורשים גם עבודות תכנות לצורך הכנה של נתונים‪,‬‬
‫השוואה בין עיבודים וכו'‪.‬‬
‫למה צריך מתודולוגיה‬
‫אתחיל בשתי הבהרות חשובות‪:‬‬
‫‪ .1‬המתודולוגיה המתוארת בפרק זה מתייחסת רק לרמות הבדיקה שמעורבים בה‬
‫הבודקים‪ .‬כלומר‪ ,‬היא מתייחסת לבדיקות מערכת )מסירה( ולבדיקות קבלה‪ .‬בדיקות‬
‫המבוצעות על ידי המפתחים נעשות בדרך שונה‪ ,‬ומתוארות בפרק נפרד‪.‬‬
‫‪ .2‬מתודולוגיית הבדיקות מתייחסת גם לבדיקת מערכת חדשה וגם לבדיקת מערכת‬
‫בתחזוקה‪ .‬כלומר‪ ,‬בדיקות מערכת בגין שינויים ותוספות‪.‬‬
‫אז למה בכלל יש מתודולוגיה? מדוע לא להמציא בדיקות לפי העניין לכל מערכת?‬
‫הסיבה המרכזית היא "כיסוי"‪ .‬אם המערכות הנבדקות היו קטנות‪ ,‬בגודל המאפשר ראייה‬
‫כוללת של כל הפעילויות במבט אחד‪ ,‬אזי – נכון‪ ,‬ייתכן שאין צורך ממשי במתודולוגיה‪.‬‬
‫אבל המערכות כיום הן רחבות היקף‪ ,‬וכוללות כמות עצומה של פעילויות‪ ,‬שכל אחת מהן‬
‫אפשרית במספר גדול של צירופים‪ .‬לבדיקת מערכות כאלו אי‪-‬אפשר לכתוב בדיקות מבלי‬
‫להסתכן בכך שלפחות ‪ 50%‬מיכולות המערכת לא ייבדקו‪.‬‬
‫המתודולוגיה מיועדת להבטיח שכל פעילות וכל צירוף של פעילות – תבוא לידי ביטוי‬
‫בבדיקות‪ ,‬כלומר‪ :‬שיהיה כיסוי מלא‪.‬‬
‫‪ 76‬חלק ‪ :2‬בדיקות תוכנה )‪(QC‬‬
‫מטרה נוספת‪ ,‬שאינה קשורה בגודל או במורכבות המערכת‪ ,‬היא שמירת אחידות בשיטת‬
‫הבדיקה‪ .‬דבר זה מאפשר לאנשים רבים להשתמש בה ללא השקעת זמן בהבנת הנעשה‪.‬‬
‫מערך של בדיקות מערכת לא נועד לשימוש חד‪-‬פעמי‪ ,‬אלא לשימוש חוזר למשך כל חיי‬
‫המערכת‪.‬‬
‫מחזור החיים של הבדיקות‬
‫במקביל לשלבי מחזור החיים של מערכת‪ ,‬נמצאים גם שלבי מחזור החיים של הבדיקות‪,‬‬
‫הכוללים מספר צעדים התלויים זה בזה )תרשים ‪.(8‬‬
‫סיום‬
‫בדיקות‬
‫קידוד‬
‫מעבר‬
‫לייצור‬
‫ביצוע‬
‫הבדיקות‬
‫אפיון‬
‫מפורט‬
‫אפיון‬
‫כללי‬
‫הכנת‬
‫תוכנית‬
‫מסגרת‬
‫לימוד‬
‫המערכת‬
‫דרישות‬
‫פעילות הבודקים‬
‫תכנון‬
‫תרחישים‬
‫אפיון מפורט‬
‫אפיון כללי‬
‫ייזום‬
‫‪STP‬‬
‫‪STD‬‬
‫‪STR‬‬
‫תרשים ‪ :8‬שלבי מתודולוגיית הבדיקות‬
‫הערה‪ :‬התרשים למעלה מתייחס למערכת המפותחת לפי מודל המפל )ראו חלק ‪1‬‬
‫"הגדרות בסיס"(‪ .‬כאשר מודל הפיתוח שונה‪ ,‬עדיין מתבצעות כל פעילויות הבודקים כפי‬
‫שמוגדר כאן‪ ,‬אבל נדרשת התאמה‪ .‬לפירוט ההתאמות‪ ,‬ראו פרק ‪" ,9‬השפעת מתודולוגיות‬
‫הפיתוח על הבדיקות"‪.‬‬
‫פרק ‪ :6‬מתודולוגיה קלאסית ‪77‬‬
‫מתי בדיוק מתחילה הפעילות של הבודק? לפני שנים היה נהוג להמתין עם הבדיקות עד‬
‫לאחר שיש מערכת מקודדת‪ ,‬ורק אז להתחיל בתהליך תכנון וביצוע הבדיקות )מצב ‪1‬‬
‫בתרשים ‪ .(9‬אחר‪-‬כך החליטו שתהליך כזה גוזל זמן רב מדי‪ ,‬ולכן גם גרם לקיצורים‬
‫ופשרות מסוכנות בתהליך הבדיקות‪ .‬הגישה החדשה קבעה שהבודק יתחיל את תכנון‬
‫הבדיקות כאשר מסמכי המערכת מוכנים ומאושרים )מצב ‪ 2‬בתרשים ‪ .(9‬על פי הגישה‬
‫העדכנית‪ ,‬יש לשתף את הבודקים גם בשלב אפיון המערכת )מצב ‪ 3‬בתרשים ‪.(9‬‬
‫סיום‬
‫קידוד‬
‫בדיקות‬
‫אפיון מפורט‬
‫אפיון‬
‫מפורט‬
‫מעבר‬
‫לייצור‬
‫אפיון כללי‬
‫אפיון‬
‫כללי‬
‫ייזום‬
‫דרישות‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫תרשים ‪ :9‬שילוב בודקים במחזור חיי מערכת‬
‫לבודק יש חשיבות רבה בתהליך‪ ,‬ובמיוחד הגישה הביקורתית והיכולת לשאול תמיד‪:‬‬
‫"ומה אם‪ ."?...‬שיתוף הבודק בתהליך אפיון המערכת מאפשר לגלות תקלות אפיון‬
‫בשלבים מוקדמים ביותר ולהבטיח שהאפיון יהיה מגובש ושלם יותר‪.‬‬
‫סיבה נוספת לצירוף הבודקים כבר בשלב תכנון וכתיבת האפיון היא עלות תיקוני‬
‫התקלות‪ ,‬או מה שמקובל לכנות "חוקיות ‪ ."1:10:100‬שפירושו‪ :‬כאשר מגלים איזו שהיא‬
‫תקלה בשלב תכנון ואפיון המערכת‪ ,‬העלות שלה תהיה יחידה אחת )‪ ;(1‬אם מגלים את‬
‫התקלה בשלב הקידוד או הבדיקות‪ ,‬עלותה תהיה ‪ 10‬יחידות; ואילו תקלות המתגלות‬
‫לאחר מעבר המערכת לייצור – עלות התיקון שלהן תהיה ‪.100‬‬
‫הבודק מתבסס בתכנון הבדיקות שלו על מסמכי מערכת‪ .‬בעדיפות ראשונה נמצאים‬
‫מסמכי הדרישות שהלקוח או המשתמש העתידי הגדירו‪ .‬אם לא קיים מסמך כזה‪ ,‬או‬
‫‪ 78‬חלק ‪ :2‬בדיקות תוכנה )‪(QC‬‬
‫כתיבת התרחישים במסמך ‪STD‬‬
‫כתיבת התרחישים מתבצעת על פי המידע הבא‪:‬‬
‫‪ .1‬עץ‪-‬הנושאים אשר הוגדר במסמך ‪.STP‬‬
‫‪ .2‬רשימת מקרי הבדיקה )‪ (Test Cases‬של כל נושא‪ ,‬אם הוגדרו‪.‬‬
‫‪ .3‬סוגי הבדיקות אשר הוגדרו בפרק האסטרטגיה במסמך ‪.STP‬‬
‫מספר נקודות לתשומת לב‪:‬‬
‫–‬
‫בדיקות מסוג ‪ GUI‬ובדיקות פונקציונליות יוגדרו עבור כל הנושאים אשר בעץ‪-‬‬
‫הנושאים‪ ,‬ולכל נושא תוגדר לפחות בדיקה אחת‪ .‬יש להקפיד על כך שבדיקות אלו‬
‫יכללו בדיקות חיוביות ובדיקות שליליות‪.‬‬
‫–‬
‫בדיקות תהליכיות ואחרות לא ניתנות להגדרה על פי הנושאים‪ ,‬מכיוון שהן חוצות‬
‫מערכת וכוללות מספר נושאים בכל בדיקה‪.‬‬
‫–‬
‫לכתיבת בדיקות פונקציונליות ניתן להיעזר גם ברשימת הודעות השגיאה המתוכננות‬
‫למערכת‪ .‬רשימה כזו יכולה לתרום להבטחת כיסוי כל המצבים הלא‪-‬תקינים הצפויים‪.‬‬
‫הסעיף הבא יכלול דוגמאות למימוש על פי סוגי הבדיקות השונים‪ .‬לפני הצגת דוגמאות‬
‫אלו‪ ,‬ברצוני להוסיף מספר חוקי "אל תעשה"‪.‬‬
‫דוגמת "אל תעשה" ‪:1‬‬
‫זיהוי בדיקה‪XXX :‬‬
‫מטרת הבדיקה‪ :‬בדיקת משיכת כספים מעל יתרת האשראי‪.‬‬
‫תנאים מקדימים‪ :‬מספר חשבון פרטי קיים ופעיל‪ ,‬ללקוח פעיל וישראלי‪ ,‬עם יתרה‬
‫> ‪ ,₪100‬אחוז עמלה למשיכה מחשבון פרטי ללקוח ישראלי = ‪.0.2%‬‬
‫‪#‬‬
‫תיאור צעד‬
‫תוצאה צפויה‬
‫‪1‬‬
‫היכנס למסך טלר‪ ,‬הקש מספר חשבון תקין‪.‬‬
‫פרטי החשבון מוצגים‬
‫‪2‬‬
‫הקש סכום של ‪.₪100‬‬
‫הפעולה בוצעה‪.‬‬
‫בחר פעילות "משיכה" בסניף החשבון על ידי בעלי החשבון‪.‬‬
‫לחץ על לחצן "בצע"‪.‬‬
‫פרק ‪ :6‬מתודולוגיה קלאסית ‪101‬‬
‫הערות‪ :‬משפט כמו "הפעולה בוצעה" )תוצאה צפויה לצעד ‪ (2‬אינו משמעותי‪ ,‬ואינו בר‪-‬‬
‫ביצוע‪ ,‬שהרי מה בדיוק קורה? הבודק המבצע צריך לעקוב אחר ההוראות בכל צעד‪,‬‬
‫לבצע אותן ולהשוות את התוצאות שקרו בפועל לאלו שמוגדרות תחת "תוצאות‬
‫צפויות"‪ .‬מה ישווה הבודק עם משפט כמו "הפעולה בוצעה"?‬
‫דבר שני‪ :‬האם זו אכן התוצאה? האם המערכת לא עשתה שום דבר בעקבות ביצוע‬
‫המשיכה? אין כל פלט? חייבים להגדיר ב"תוצאה הצפויה" מה בדיוק ביצעה המערכת‬
‫כתוצאה מהפעילות ב"תיאור הצעד"‪ ,‬ומה הן משמעויות הפלטים של פעילות זו‪.‬‬
‫דוגמת "אל תעשה" ‪:2‬‬
‫זיהוי בדיקה‪XXX :‬‬
‫מטרת הבדיקה‪ :‬בדיקת משיכת כספים מעל יתרת האשראי‪.‬‬
‫תנאים מקדימים‪ :‬חשבון עם יתרה > ‪ ,₪100‬אחוז עמלה למשיכה מחשבון פרטי ללקוח‬
‫ישראלי = ‪.0.2%‬‬
‫‪#‬‬
‫תיאור צעד‬
‫תוצאה צפויה‬
‫‪1‬‬
‫היכנס למסך טלר‪ ,‬הקש מספר חשבון תקין‪.‬‬
‫פרטי החשבון מוצגים‪.‬‬
‫‪2‬‬
‫הקש את הסכום ‪.₪100‬‬
‫אם סטטוס החשבון פעיל –‬
‫המשיכה תבוצע‪ ,‬ויווצרו ‪4‬‬
‫תנועות כספיות‪.‬‬
‫בחר פעילות "משיכה" בסניף החשבון על ידי‬
‫בעלי החשבון‪.‬‬
‫‪3‬‬
‫לחץ על לחצן "בצע"‪.‬‬
‫אם סטטוס הלקוח מעוקל –‬
‫המשיכה לא תאושר‪.‬‬
‫היכנס לשאילתת תנועות‪ ,‬ובדוק האם‬
‫התנועות נרשמו במאגר לפי ערך יום הפעולה‪.‬‬
‫אם סטטוס החשבון פעיל‪,‬‬
‫התנועות קיימות ותקינות‪.‬‬
‫חיוב חשבון העו"ש ב‪.₪100-‬‬
‫זיכוי סעיף מזומנים ב‪.₪100-‬‬
‫חיוב חשבון העו"ש בסכום ‪.₪0.2‬‬
‫זיכוי סעיף עמלות בסכום ‪.₪0.2‬‬
‫‪ 102‬חלק ‪ :2‬בדיקות תוכנה )‪(QC‬‬
‫הערות‪ :‬יש לשים לב לתנאים המקדימים‪ ,‬שאינם מגדירים מספר חשבון מסוים וגם לא‬
‫את סטטוס החשבון‪ .‬כעת הביטו בתוצאה הצפויה של צעד ‪ 2‬שבו יש בחירה של תוצאה‬
‫שונה בהתאם לסטטוס החשבון‪ .‬אבל מה יקרה בפועל בזמן ביצוע הבדיקה? רק מצב‬
‫אחד ייבדק‪ :‬או משיכה תקינה לחשבון פעיל‪ ,‬או סירוב למשיכה מחשבון מעוקל‪ .‬כלומר‪,‬‬
‫אחד מהמצבים האלה לא ייבדק!‬
‫במקרה כזה‪ ,‬הדרך הנכונה היא להגדיר שתי בדיקות נפרדות‪ :‬אחת עבור חשבון בסטטוס‬
‫פעיל‪ ,‬ואחת עבור חשבון בסטטוס מעוקל‪.‬‬
‫דוגמת "אל תעשה" ‪:3‬‬
‫זיהוי בדיקה‪XXX :‬‬
‫מטרת הבדיקה‪ :‬בדיקת משיכת כספים מעל יתרת האשראי‪.‬‬
‫‪#‬‬
‫תיאור צעד‬
‫תוצאה צפויה‬
‫‪1‬‬
‫היכנס למסך טלר והקש מספר חשבון תקין‪.‬‬
‫פרטי החשבון מוצגים‪.‬‬
‫‪2‬‬
‫הקש את הסכום ‪.₪100‬‬
‫המשיכה מבוצעת ונוצרות ‪4‬‬
‫תנועות כספיות‪.‬‬
‫בחר פעילות "משיכה" בסניף החשבון על ידי‬
‫בעל החשבון‪.‬‬
‫)אימות הפעולה נעשה בצעד הבא(‬
‫לחץ על לחצן "בצע"‪.‬‬
‫‪3‬‬
‫אימות‪ :‬היכנס לשאילתת תנועות‪ .‬בדוק אם‬
‫התנועות נרשמו במאגר לפי ערך יום‬
‫הפעולה‪.‬‬
‫התנועות קיימות ותקינות‪.‬‬
‫חיוב חשבון העו"ש ב‪.₪100-‬‬
‫זיכוי סעיף מזומנים ב‪.₪100-‬‬
‫חיוב חשבון העו"ש בסכום ‪.₪0.2‬‬
‫זיכוי סעיף עמלות בסכום ‪.₪0.2‬‬
‫הערות‪ :‬יש לשים לב לתנאים המקדימים שאינם מוגדרים כלל‪ .‬כלומר‪ ,‬הבדיקה תתבצע על‬
‫כל חשבון שהוא‪ ,‬עם כל תנאי שהוא‪ ,‬סטטוס כלשהו‪ ,‬יתרה כלשהי‪ .‬במקרה זה אי אפשר‬
‫לדעת מראש מה תהיה התוצאה הצפויה‪ ,‬ולכן גם לא ניתן לוודא שהתוצאה בפועל תקינה!‬
‫זכרו‪ :‬אתם בודקים את התוכנה! אתם יודעים כיצד היא אמורה להתנהג בתנאים שונים‬
‫ועם נתונים שונים‪ ,‬ואתם רוצים לוודא שאכן היא מתנהגת כפי שתוכננה!‬
‫פרק ‪ :6‬מתודולוגיה קלאסית ‪103‬‬
‫שאלות ותשובות‬
‫שאלה‪ :‬האם חובה לכתוב תמיד "מקרי בדיקה" )‪?(Test Cases‬‬
‫תשובה‪ :‬אין קביעה אחת בנושא‪ ,‬והדבר תלוי בשני גורמים‪:‬‬
‫– תקן העבודה בארגון בו אתם עובדים‪ .‬אם שיטת העבודה מחייבת הכנת‬
‫מקרי‪-‬בדיקה‪ ,‬אז כמובן שיש לכתוב אותם‪.‬‬
‫– אם אין דרישה להכנת מקרי‪-‬בדיקה‪ ,‬צריך לברר אם הנושא שרוצים לבדוק‬
‫מסובך ומורכב?‬
‫האם הצגת רשימת המקרים לבדיקה תעזור להבטיח שאכן בודקים כל נושא‬
‫מכל הכיוונים האפשריים?‬
‫שאלה‪ :‬באיזו רמה יש לכתוב את צעדי התרחישים?‬
‫תשובה‪ :‬אין חוקיות לגבי רמת הפירוט של צעדי התרחישים‪ ,‬ולכן צריך לברר‪ :‬מי עומד‬
‫לבצע את הבדיקות בשלב הזה? מי יבצע את הבדיקות בעתיד? האם אלה‬
‫אנשים מנוסים המכירים את המערכת? האם תחלופת האנשים בארגון גדולה‪,‬‬
‫וצריך יהיה ללמד אותם שוב לקראת כל בדיקה? גישת הביניים היא‪ :‬כתיבת‬
‫תרחישים בצורה שתהיה ברורה לחלוטין וחד‪-‬משמעית‪ ,‬כדי שגם אדם חיצוני‬
‫עם רקע ממוצע במערכת‪ ,‬ידע בבירור מה לעשות – ללא שאלות‪ ,‬ללא‬
‫התלבטויות לגבי הכוונה‪.‬‬
‫שאלה‪ :‬האם ניתן לשלב מספר הוראות ביצוע בצעד אחד?‬
‫תשובה‪ :‬אין חוקיות להכנת ההוראות‪ ,‬ולכן צריך לברר‪ :‬האם לכל הוראת ביצוע‬
‫יש תוצאה צפויה שונה אותה יש לבדוק? אם כן‪ ,‬רצוי להפריד ולכתוב כל הוראה‬
‫בצעד נפרד‪ ,‬כי בזמן ביצוע ההוראות משווים את התוצאה הצפויה לתוצאה‬
‫שאירעה בפועל‪ ,‬ומסמנים את הצעד כ"עבר" או "נכשל" על פי ההשוואה הזו‪.‬‬
‫שאלה‪ :‬מה עושים אם מסמך האפיון אינו כולל צילומי מסכים והמערכת עדיין לא קיימת?‬
‫תשובה‪ :‬כשאין תיאור למסכי המערכת לא ניתן לכתוב בדיקות ‪ .GUI‬גם את הבדיקות‬
‫הפונקציונליות נכתוב ברמה קצת שונה‪ .‬במקום לכתוב בצעד ‪:1‬‬
‫"היכנס למסך טלר והקש מספר חשבון" ובצעד ‪" :2‬סמן פעולה = משיכה‪,‬‬
‫סניף = חשבון‪ ,‬מבצע = בעל חשבון‪ ,‬נכתוב ברמה כוללת יותר‪" :‬היכנס למסך‬
‫טלר ובצע משיכה על ידי בעל חשבון‪ ,‬בסניף החשבון"‪.‬‬
‫‪ 104‬חלק ‪ :2‬בדיקות תוכנה )‪(QC‬‬
‫נספח א' – אפיון מערכת עו"ש‬
‫‪ .1‬תיאור המערכת‬
‫מערכת העו"ש החדשה מיועדת להחליף מערכת ישנה‪.‬‬
‫המערכת מטפלת במספר פעילויות בנקאיות‪ ,‬הן במטבע ישראלי )‪ (₪‬והן בדולרים )‪.($‬‬
‫–‬
‫משיכת כספים מתוך חשבון העו"ש‪,‬‬
‫–‬
‫הפקדת כספים לחשבון העו"ש של הלקוח‪.‬‬
‫המערכת כוללת שני מאגרי מידע מרכזיים )בסיסי נתונים(‪:‬‬
‫‪ .1‬מאגר חשבונות עו"ש ללקוחות‪ ,‬המתעדכן בעקבות פעילות המערכת‪ .‬המאגר כולל‪,‬‬
‫בין היתר‪:‬‬
‫יתרה‬
‫גובה אשראי‬
‫סוג חשבון‬
‫פרטי‬
‫עסקי‬
‫סטטוס חשבון‪:‬‬
‫פעיל‬
‫מעוקל‬
‫מוקפא‬
‫בעלי חשבון‬
‫יחיד‬
‫שותפים )יותר מאחד(‬
‫‪ .2‬מאגר פרטי לקוחות‪ ,‬משמש לתצוגת מידע בלבד‪ ,‬וכולל‪:‬‬
‫ת‪.‬ז‪ .‬לקוח‬
‫שם וכתובת‬
‫תושבות‬
‫ישראלי‬
‫זר‬
‫נספח א' – אפיון מערכת עו"ש ‪275‬‬
‫שטחים‬
‫סטטוס לקוח‬
‫פעיל‬
‫נפטר‬
‫מעמד‬
‫בעל החשבון‬
‫שותף בחשבון‬
‫אפוטרופוס‬
‫‪ .2‬מסך הטלר‬
‫הטלר מבצע את פעולות העו"ש בעזרת מסך כללי אחד‪ ,‬שנראה כך‪:‬‬
‫‪ 276‬נספחים‬
‫מאפייני השדות‪:‬‬
‫שם שדה‬
‫מס' חשבון‬
‫הפעולה‬
‫סכום הפעולה‬
‫מגבלות‬
‫פורמט‬
‫)‪ 9(N‬חובת הקשה‬
‫‪ RadioButton‬ברירת מחדל = "משיכה"‬
‫‪ 7(N).NN‬חובת הקשה‪ ,‬חייב להיות סכום חיוב < ‪0‬‬
‫סניף‬
‫‪ RadioButton‬ברירת מחדל = "חשבון"‬
‫מבצע‬
‫‪ RadioButton‬ברירת מחדל = "בע"ח" )בעל חשבון(‬
‫אישור אופוטרופוס‬
‫‪ CheckButton‬חובת הקשה כאשר המבצע הוא אפוטרופוס‬
‫פרטי מיופה כח‪ :‬שם‬
‫‪ A30‬חובת הקשה כאשר המבצע הוא מיופה כח‬
‫פרטי מיופה כח‪ :‬ת‪.‬ז‪.‬‬
‫‪ 9N‬חובת הקשה כאשר המבצע הוא מיופה כח‬
‫פרטי חשבון‪ :‬קוד בנק‬
‫‪ NNN‬קוד בנק תקין מתוך טבלת קודי הבנקים‪.‬‬
‫חובת הקשה בפעולה דרך סניף אחר‬
‫פרטי חשבון‪ :‬סניף‬
‫‪ NNN‬קוד סניף תקין מתוך טבלת קודי סניפים‬
‫חובת הקשה בפעולה דרך סניף אחר‬
‫פרטי שיק להפקדה‪ :‬קוד‬
‫בנק‬
‫פרטי שיק להפקדה‪ :‬סניף‬
‫‪ NNN‬קוד בנק תקין מתוך טבלת קודי הבנקים‪.‬‬
‫חובת הקשה בפעולת הפקדת שיק‬
‫‪ NNN‬קוד סניף תקין מתוך טבלת קודי סניפים‬
‫חובת הקשה בפעולת הפקדת שיק‬
‫פרטי שיק להפקדה‪ :‬מס'‬
‫שיק‬
‫)‪ 7(N‬חובת הקשה בפעולת הפקדת שיק‬
‫החלון הראשי הזה ישמש את כל הפעולות‪:‬‬
‫לאחר הקשת מספר החשבון‪ ,‬יוצגו אוטומטית כל פרטיו‪ :‬שם הלקוח‪ ,‬יתרה‪ ,‬סוג חש'‪,‬‬
‫אשראי וסטטוס‪.‬‬
‫נספח א' – אפיון מערכת עו"ש ‪277‬‬