מדריך QA למתחילים
בסדרת המאמרים הבאה אנסה לשפוך קצת אור על מקצוע ה-QA. נלמד על מושגים כללים, שיטות וסוגים שונים של בדיקות, כתיבת מסמך בדיקות ועוד. בנוסף ננסה להבין האם יש הבדל בן הבדיקות הנעשות בעולם הפי סי לעולם המובייל ואיך מתמודדים אם הפרגמנטציה האדירה שנוצרת בתחום? ומה הן דרכי ההתמודדות השונות של החברות?. חשוב לציין: שכל המידע לקוח מאתרים חיצוניים ומנסיון של שבע שנים בתחום. אשמח לקבל תגובות ושאלות הקשורות לנושא בסוף כל פוסט.
נתחיל עם מושגים כללים:
מה זה בקרת איכות? Quality Assurance: בקרת איכות היא סידרה של פעולות על מוצר, שנועדו להבטיח שהמוצר עומד בדרישות שהוגדרו מראש ע"י אנשי "המוצר" (product) על מנת למנוע תקלות עתידיות ולהבטיח את איכות המוצר לפני הגעתו ללקוח. כל זאת נעשה ע"י סט של מסמכי בדיקות שונים שמלווים את התהליך. חשוב לציין: שבכל חברה תהליך הבדיקות עלול להיות קצת שונה בהתאם למוצר ולאופי חברה.
סוגי מסמכי בדיקות:
SRS
Software Requirements Specification
מסמך בו מתארים מה מתכוונים לייצר (מנקודת המבט של היחידה המייצרת)
STR
Software Test Result
מסמך המתאר תוצאה של הרצת סבב בדיקות על המוצר
STD
Software Test Design
מסמך המתאר כיצד בודקים את המוצר
STP
Software Test Plan
מסמך המתאר תוכנית לבדיקת מוצר (מה בודקים, מתי, משאבים נחוצים, לוחות זמנים, תקציבים, תהליכים, הגדרות ועוד)
ATD
Acceptance Test Design
מסמך המתאר כיצד לבצע בדיקות קבלה של לקוח על המוצר המתקבל מהיחידה המייצרת
ATP
Acceptance Test Plan
מסמך המתאר תוכנית לבדיקת קבלה של מוצר אצל הלקוח (ראו STP)
השלבים:
לקוח מגיש בקשה לקבלת הצעות מחיר (דרישות לקוח), או שאנשי השיווק מגישים רשימת דרישות לפיתוח. (יש שמות אחדים למסמכים כאלה: RRS, RFQ, PFG, …)
היחידה המייצרת מחברת מסמך המתאר מה היא מתכוונת לעשות (SRS)
היחידה המייצרת מתארת איך היא מתכוונת לממש את הדרישות (מסמך תוכן,SDD)
גוף בדיקות התוכנה מגיש תכנית בדיקות (STP)
גוף בדיקות התוכנה מגיש את הבדיקות עצמן (STD)
גוף הבדיקות מריץ את הבדיקות ומגיש את תוצאות הריצה (STR)
הלקוח מכין תכנית לבדיקת המוצר שנקנה (ATP)
הלקוח מכין את הבדיקות עצמן (ATD).
בשלב זה נעצור להיום. אני מציע לעבור כמה פעמים על המושגים והשמות של המסמכים על מנת להבין ולזכור מה השלבים הבסיסים בתהליך ה-QA. במדריך הבא נעבור על סוגים שונים של מטודולוגיות בדיקות, נלמד מה ההבדלים ביניהם ולאיזה מטרה הם נועדו. בנוסף נלמד על גישות וסוגים שונים של בדיקות ונסביר מה הההבדל בין Black-box ל-White-Box.
בנוסף למדריך זה הייתי רוצה להמליץ על האתר מצויין ללימוד תיכנות בדרך הקלה ובחינם codecademy. אני לא ירחיב על האתר אלה רק אומר תנסו ותראו בעצמכם.