דלג לתוכן
חזרה לבלוג

// מדריך · רכישת תוכנה · בדיקות ותכולה

מה כולל "בדיקות" בהצעת מחיר לפרויקט תוכנה?

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

  • 11 דק׳ קריאה
  • מאת צוות וואן זירו

// התשובה הקצרה

בפסקה אחת

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

// תקציר

הגרסה הקצרה — מה לוודא בסעיף הבדיקות

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

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

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

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

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

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

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

מי אחראי למה: ספק מול לקוח

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

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

מה נכנס לסעיף הבדיקות בהצעה — ומה לא

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

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

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

קריטריוני קבלה כתובים

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

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

סביבת staging: איפה בודקים

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

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

דוגמה מסומנת: סעיף בדיקות בהצעה

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

מה קורה כשבדיקות לא תפסו משהו

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

מה אנחנו עושים בשלב הזה

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

// שאלות נפוצות

שאלות נפוצות

  • מה ההבדל בין QA לבדיקות?+
    בשיחה יומיומית משתמשים בשני המונחים לאותו דבר, אבל QA (הבטחת איכות) הוא רחב יותר: הוא כולל גם את התהליך שמונע ליקויים — אפיון ברור, קריטריוני קבלה, סקירת קוד — ולא רק את הבדיקה שמתבצעת בסוף. בהצעה כדאי לשאול איזה מהשניים הכוונה, ולבקש שיתואר מה בפועל נעשה.
  • האם בדיקות אוטומטיות הן חובה בכל פרויקט?+
    לא בכל פרויקט ולא לכל חלק. הן משתלמות יותר במערכת שתמשיך להתפתח, כי הן תופסות רגרסיה בכל שינוי. במוצר קצר וחד־פעמי הן פחות הכרחיות. מה שחשוב הוא שההצעה תגיד על אילו חלקים יש בדיקות אוטומטיות, ושהן נמסרות לכם יחד עם הקוד.
  • מי צריך לבצע את בדיקת הקבלה?+
    מי שמכיר את העבודה העסקית שהמערכת אמורה לשרת — אתם או נציג שלכם, לא הספק. הספק יכול להדריך ולהכין תרחישים, אבל אישור שהמערכת עושה מה שהזמנתם צריך להגיע מהצד שהזמין. כדאי לקבוע מראש כמה זמן יש לבדוק ומה קורה אחריו.
  • מה ההבדל בין באג לבקשה חדשה?+
    באג הוא מצב שבו המערכת לא עושה מה שהוגדר וסוכם. בקשה חדשה היא שינוי במה שהוגדר. לכן קריטריוני קבלה כתובים הם הכלי המרכזי: בלעדיהם אין מסמך שאפשר להצביע עליו, והמחלוקת נשארת בין זיכרון אחד לאחר. מה ההגדרה ובאיזו תקופה מתקנים ללא תוספת — כדאי לסכם בכתב לפני תחילת העבודה.
  • האם צריך סביבת staging גם בפרויקט קטן?+
    כמעט תמיד כדאי. גם מערכת קטנה עלולה לשלוח הודעה, לשנות נתון או לחייב כרטיס אשראי כשבודקים אותה על הסביבה החיה. סביבה נפרדת היא הדרך לבדוק בלי סיכון, ולקבל גרסאות לאישור לפני שהן עולות. מה שקובע הוא לא גודל הפרויקט אלא מה קורה אם בדיקה שגויה פוגעת בנתונים אמיתיים.
  • איך מבקשים בדיקות בהצעה בלי להיות טכניים?+
    שאלו את ארבע השאלות: אילו סוגי בדיקות כלולים ואילו לא, מי עושה מה, לפי אילו קריטריונים מאשרים ובאיזו סביבה. ספק שיודע לענות מיד בכתב מראה שיש תהליך. ספק שעונה "אצלנו הכול נבדק" בלי פירוט משאיר אתכם בלי דרך לדעת מה נבדק.

עודכן לאחרונה:

מאת צוות וואן זירו

// בואו נדבר

בונים MVP, SaaS, marketplace או מוצר AI-mobile?

שווה לעשות architecture decision לפני שבוחרים framework לפי hype — זה משפיע על hiring, speed, burn, תחזוקה, scalability ו-future rewrites.