איש QA - ומסמכי בדיקות...

Taloded

New member
איש QA - ומסמכי בדיקות...

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

עפר פרת

New member
יש דרג...

יש כל מיני דגים בים: יש דגים שרק מריצים טסטים, שאחרים כתבו, והם לא ממש צריכים לדעת את כל שרשרת ראשי התיבות STP STD STR ATP וגו' יש דגים שגם מריצים וגם כותבים, והם *חייבים* לדעת מה זה STD. יש דגים שגם מתכננים טסטים (למודול, למוצר...) והם חייבים להכיר גם את מסמכי התכנון והדיווח. איזה דג אתה?
 

minidror

New member
מסמכי בדיקות

אני בתפקיד QA ובין היתר כותבת מסמכי בדיקות: ATP ו- STD. ראיתי שבהודעתך רשמת שיש גם STP ורציתי לדעת מה המסמך הזה.
 

אבי ע

New member
STP וחיות אחרות ../images/Emo39.gif

STP הוא Software Test Plan או בגרסא אחרת Procedure (אשמח לשמוע דעה מה השימוש הנכון או המקובל יותר). בשימוש נכון במונח, זוהי תכנית כללית לבדיקות, לעתים עד רמת כותרות מקרי המבחן (Test Cases) אך לא מעבר לכך. במובנים רבים זהו מסמך High Level ממנו נגזר STD. בשימוש לא נכון אך נפוץ למדי, קוראים בשם STP למה שצריך להיקרא STD. גם אצלנו בחברה היה כך והוביל לנזקים של ממש משום שלקוחות ביקשו STP, קיבלו מסמך מפורט מדי שאחר כך כב רחייב אותנו. במקביל, ATP הוא Acceptance Test Plan היינו תכנית למבדקי קבלה שמגישים לאישור הלקוח (או שהוא מכין בעצמו), וממנה נגזר ATD שהוא פירוט מקרי המבחן שבמבדק.
 

אבי ע

New member
מקובל שכן ../images/Emo39.gif

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

ScrollLock

New member
שאלה

אנשי פיתוח - האם גם הם כותבים בדיקות? *הכוונה היא - "האם מפתחים כותבים בדיקות שאמורות להיות מבוצעות ע"י אנשי QC?"
 

אבי ע

New member
אתה שואל ברצינות? ../images/Emo39.gif

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

vinney

Well-known member
הבנתך של איש QC לא נכונה

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

אבי ע

New member
זה עניין של הגדרה ../images/Emo39.gif

בכך אני מסכים איתך, אבל לחלוטין לא הבנת את כוונתי במונח SQA. תוכל לעיין במאמרי הפורום ולראות את דעתי. מה שקרוי SQA (לא אני המצאתי את זה) הוא אכן מה שאתה קורא QA, בהקשר של אבטחת איכות התוכנה (כי QA כולל הרבה מעבר לאבטחת איכות התוכנה, ותכופות מפרידים ביניהם ואף בצדק - שוב, עיין מה שכתבתי). אבל זה שמישהו הוא איש SQA אינו מונע ממנו גם לבצע את הבדיקות, מעבר להיות אמון על ההיבט הרחב יותר של איכות התוכנה, תכנון וכתיבת הבדיקות, וכדומה. ברוב המקרים בהם נתקלתי המינוח SQA (או המונח הלא מדוייק QA) אכן מתייחס לאנשי איכות שלא רק בודקים אלא גם מסוגלים לכתוב בדיקה, ואז השימוש ב-QC אינו נראה לי הולם. ההפרדה החדה בין מי שתפקידם לתכנן את הבדיקות לבין מי שתפקידם רק לבצע אותן עדיין אינה נראית לי: וברגע שקבעת תפקיד של איש CQ קבעת בעצם תפקיד של אדם שרק מבצע את הבדיקות. בארץ, גם אני פגשתי לרוב אנשי איכות שמבינים (ברמות שונות) מה הם עושים ואינם רק "מבצעי פקודות": אבל רובם גם היו אנשי SQA ולא QC בלבד, כלומר גם היו בעלי יכולת לפחות לכתוב תכנית בדיקות. האם האנשים שאתה מדבר עליהם רק בצעו בדיקות ומעולם לא כתבו אותן? אני עדיין סבור שאם מגדירים תפקיד כביצוע בדיקות בלבד, הדבר מוביל לגישה צרה ולא נכונה לנושא הבדיקות. זה טוב לפועלים בסרט נע של ייצור חרושתי, אבל איני סבור שזה טוב לבדיקות תוכנה.
 

vinney

Well-known member
לא ברורה לי ההנחה הזאת שלך

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

אבי ע

New member
אז חזרנו לעניין של הגדרה... ../images/Emo39.gif

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

ScrollLock

New member
מובן צר ???

אני לא בדיוק מצליח לרדת לסוף העניין של "ההגדרה". מבחינתי, איש QC הוא איש בדיקות! מאידך, איש בדיקות שלא מצליח לרדת לעומקם של דברים, להבין את הבדיקות, תכליתן ומשמעותן בהרכב הכללי של הפרוייקט - לא שווה הרבה. אני לא צריך איש בדיקות שיישב ויעבוד כמו רובוט - בשביל זה אני יכול להביא בבון וללמד אותו. איש בדיקות שלא יידע להבין את הבדיקות שהוא עושה ואת ההשלכות של התוצאות על שאר מרכיבי הפרוייקט ולא יספק את המידע הדרוש על כל בדיקה, לא יעזור הרבה ובטח שלא יידע איך לשפר את תהליכי הבדיקה. המשמעות של-QC היא ביצוע בקרה (Quality Control) אבל בקרה, קפדנית ככל שתהיה - כל עוד היא לא מספקת מידע מפורט ומקיף ככל שניתן - בקרה כזו לא שווה הרבה מבחינתי. ולהבדיל: המשמעות של QA היא בקרה כוללת ומקיפה של תהליך או פרוייקט. כאן לא מדובר על בדיקות של מוצר או חלק ממנו אלא על בקרה כללית שרק חלק ממנה (חלקיק) הוא הבקרה הסופית או בדיקות המוצר. מבחינתי, בקרה של תהליך כוללת (בין השאר) סיוע בהגדרות של פרוייקט או תהליכים בו, ייעול וסיוע בתהליכי התכנון (למשל Software Design), סיוע בהגדרת הבדיקות ומהותן ובשלבים מתקדמים יותר גם סיוע לדרגים הרלוונטיים בקבלת החלטות הנוגעות לשחרור המוצר. בקיצור - הכל מכל וכל. כמו שאמר פעם יועץ אחד - צריך להבדיל בין הכובע של QA לבין זה של QC. אם שניהם יושבים על אותו ראש - אין מספיק מקום!
 

אבי ע

New member
דווקא הצלחת... ../images/Emo39.gif

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

vinney

Well-known member
אנשי פיתוח כותבים UNIT TEST

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