QA testing developer by Ziv

Post on 18-May-2015

648 views 2 download

description

הגיגים בנושא בדיקות תוכנה לאנשי בדיקות ולמפתחים.נכתב והעובר ע"י זיו מנדל, מנכ"ל משותף, טאקט בדיקות תוכנה, ג\'ון ברייס ומטריקס גלובלבמסגרת כנס SQAT 2010

Transcript of QA testing developer by Ziv

1

... הצלחה והגיגים ,בדיקות , איכות

מה אני צריך לעשות למען האיכות של

? הקוד שלי ziv@johnbryce.co.il

08-9146000 -טאקט

www.tact.co.il

רוצים להגיע רחוק .... אבל צריכים להזהר

מטרות ההרצאה

לעלות את המודעות לחשיבות של איכות הקוד ובעיקר •

לעלות את המודעות לחשיבות של תפקיד המפתח

ביצירת קוד איכותי

הצגת מספר הגיגים על תפיסת העולם והגישה של •

המפתח בפיתוח הקוד והצגת מספר טכניקות ודרכי

פעולה לייצר קוד איכותי יותר

3

מה קורה למוצר שלא דובאג מספיק

די דיינו די דיינו

דיינו –אילו היו רק מבקשים מאתנו לכתוב יותר קוד •

דיינו –אילו היו רק מבקשים מאתנו לכתוב בטכנולוגיות חדשות •

דיינו –אילו היו רק מבקשים מאתנו לכתוב מערכות גדולות יותר •

דיינו -אילו היו רק מבקשים מאתנו לכתוב מערכות מורכבות יותר •

דיינו –אילו היו רק מבקשים מאתנו לתקן ולעשות שינויים כל הזמן •

דיינו –אילו היו רק מבקשים מאתנו לכתוב מערכות בשלל טכנולוגיות •

דיינו –אילו היו רק מבקשים מאתנו לתעד את המערכות •

דיינו –אילו היו רק מבקשים מאתנו לבדוק את הקוד שאנחנו כותבים •

דיינו –אילו היו רק מבקשים מאתנו שלא יהיו במערכות באגים •

דיינו –אילו היו רק מבקשים מאתנו שהמערכות יעבדו בביצועים אופיטמאלים •

דיינו –אילו רק היו מבקשים מאתנו שהמערכות יהיו ידידותיות למשתמש •

–אילו רק היו מבקשים מאתנו שהמערכות לא יפלו ושאם הם יפלו אז שיתאוששו מהר •

דיינו

...... דיינו דיינו , די דיינו , די דייינו •

5

שלושת חוקי הבאגים

בכל תוכנית יש באג •

בין כל באג לבאג יש עוד באג •

באג מביא חבר •

היצירה של הבאגים איננה ( : הדיבר הרביעי)והחוק הכי חשוב •

מדובר ". מכת מדינה משמיים"איננה מקרית ואינה , אקראית

בתופעה שאפשר להלחם בה גם ברמת המניעה וגם ברמת

הגילוי והורדת עלות הנזק

6

ומה שצריך לקרות יקרה -הכל משמיים

מספר הגיגים על החוק הרביעי

לאורך השנים נכנסו מתודולוגיות ושיטות עבודה במקביל לעליה בסיבוכיות •

בגודל ובמורכבות של המערכות והטכנולוגיות ,

.... הולך אחורה ... מי שלא הולך קדימה •

אנחנו רואים שיפור במגמת של ... ולמרות העליה של כל הפרמטרים •

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

במחקר על המקומות בהם נמצאים הבאגים הסתבר שלמרות שיצירת •

) יש תבניות פעולה דומות בין כל הבאגים " כטעות אנוש"הבאג נתפסת

( ?איכן נמצאים רב הבאגים בתוכנה : שאלה למחשבה

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

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

8

כלכלת האיכות והבדיקות

ניתן להוריד את עלות הכשל הנובעת מהבאגים שאנחנו •

מייצרים

זולה בסדר גודל מעלות התיקון –עלות המניעה •

המפתח לשיפור בעלות התיקון –עלות הגילוי המוקדם •

9

עלות התקלה ואי החשיבה מראש

זיהוי ותיקון תקלות בשלב מוקדם בתהליך הפיתוח

11

back

הצד השני של גרף בוהם

עלות התיקון לא רק עולה אלא גם איכות התיקון יורדת ככל •

..... שנגלה מאוחר יותר את הטעות

: הפרדוקס של גרף בוהם כשהוא מגיע לשולחנו של המפתח •

מתי שיש ) ההשקעה בגילוי ובבדיקות נעשית בעיקר בסוף •

לנו את העלות היקרה ביותר ואת האיכות הגרועה ביותר

( לתיקון

צריך לעשות יותר בדיקות ויותר בקרה בשלבים : התובנה •

( קרי באחריות המפתח) מוקדמים של הפיתוח

12

הטעות הקלאסית –תפיסת גוף הבדיקות על ידי הפיתוח

? בשביל מה יש גוף בדיקות מרכזי ובודק תוכנה בפרויקט שלי •

אני עסוק ביצירת הקוד הבא שלי ... שהם יגלו את הבאגים •

( והבאגים החדשים שלי)

ר 'זה לא באג זה פיצ•

בשביל מה הם .... הם מטרידים אותי כל הזמן בשאלות •

בשביל להפריע לי ... מקבלים כסף

גופי הבדיקות מקבלים הרבה יותר באגים ולא –התוצאה •

משקיעים את הזמן בבדיקות הסופיות והאינטגרטיביות

( המטרה העיקרית שלהם)

13

14

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

.אין לי כוח לעשות את זה - אפשרי בלתי

. אצטרך לקרוא תיעוד –קשה

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

.מתקמפל –עובד

.לא מתקמפל –אני מלטש את זה

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

1.5%בהסתברות של -סביר

.עדיין אין לנו מושג מה לעשות –אנו מנסים כמה גישות שונות

.'סטודנטים שנה א 3כרגע גייסנו -ח מסכם על הגישה החדשה שלנו לפתרון הבעיה"אנו מכינים דו

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

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

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

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

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

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

.תוכנית אחת בסוף התחילה לעבוד -שנים של פיתוח

! אנחנו תמיד עושים ככה –! אנו עושים את זה לפי סטנדרטים

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

! בפעם האחרונה התוכנית כמעט עבדה –אנו על סף פריצת דרך

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

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

.48שבועות יסתיים לקראת סוף השבוע ה 26אנו מקווים שפרויקט של –הפרויקט צועד לקראת סיומו בצעדי ענק

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

שינוי בגישה של המפתחים כלפי הבדיקות

הבנה של המפתח שהחלק : הפתרון •

המטרה . החשוב של איכות הקוד נמצא אצלו

איננה לסיים את הקוד בזמן אלא לסיים את

וזה הרבה יותר קשה ... קוד איכותי בזמן

15

האמונה ביכולת שלנו מייצרת את האפקטיביות והאיכות

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

בתהליך הפיתוח•

בסיום הפיתוח •

בתיקון הבאג •

17

18

בתהליך הפיתוח

על ארבעה בנים דיברה התורה

בדרך הנכונה , לעשות את הדבר הנכון -חכם •

בדרך הלא נכונה , לעשות את הדבר הנכון -תם •

לעשות את הדבר הלא נכון בדרך -זה שאיננו יודע לשאול •

נכונה

בדרך הלא נכונה, לעשות את הדבר הלא נכון -רשע •

? מי הטיפוס הפופלארי בקרב המפתחים : שאלה מעניינת

? והמסקנה

19

..... הכוונות הטובות לא מספיקות

Classבתהליך הפיתוח של

( כולל עקרון העקיבות והשלמות)הבנת הדרישות והממשקים •

בניית תרחישי הבדיקה לפני ביצוע הקוד •

TDD-test driven :תכנון ועיצוב הקוד מונחה בדיקות•

development (חייב להיות חלק משיקולי הפיתוח )

) כתיבה נקיה והתמקדות בחשיבה בנקודות הרגישות של הקוד •

( כולל תעוד הקוד

Class -לכל ה J UNIT/N-UNIT -כתיבת ה•

21

22

בסיום הפיתוח

המפתח בסיום הפיתוח

Classשל בסיום הפיתוח

קופסא שקופה וקופסא )ביצוע מבדקי היחידה של הקוד ותעודם •

(שחורה

( או כלים על ידי בן זוג , עצמאית ) CODE REVIEWביצוע •

(כמובן עדיף –בעזרת כלים ) בדיקות רמת הכיסוי של הבדיקה •

.... תעוד הנקודות הרגישות •

העברת הידע הנדרש והתמיכה לגוף הבדיקות•

טרם העברת ( עדיף בסביבה נפרדת)ביצוע בדיקות אינטגרציה •

(אוטומטיות sanityכולל בדיקות )הגרסה לבדיקות

Continuous integrationלהכניס לתהליכי בדיקות שוטפים •

חשוב מאוד לתהליכי הפיתוח שהביצוע של הבדיקות יתבצע )

(בצורה הדרגתית שוטפת ואוטומטית

24

25

בתיקון הבאג

בתיקון הבאג

J-UNIT -שחזור הופעת הבאג במסגרת ה•

(ולא רק של מה שתיקנו) ביצוע חוזר של הבדיקות •

תעוד במערכת הבאגים של מהות הבאג ובעיקר תעוד •

אם )ההשפעה של התיקון על הקוד ותעוד הבדיקות שנעשו

(J-UNITצריך מעדכן ומוסיף

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

( ואפשר לתת לו גם משוב חיובי על גילוי הבאג ) התיקון

איך היה אפשר למנוע אותו ואיך , ניסיון להבין מדוע נוצר הבאג •

אפשר למנוע את הבאגים הבאים

26

.... ולסיום כל אחד יכול

שעות 48אפקט

“אבל אתה לא יכול להכריח אותו לשתות, אתה יכול להוביל סוס מת אל הנהר"

אלן למפרט, ראש העיר טורונטו --

www.matrix-global.net 29

www.matrix-global.net

?שאלות