אנשים רבים חלקם ללא ניסיון קודם אשר מחפשים עבודה יציבה מבינים כי ניתן להיכנס להייטק במקרה של תחום בדיקות התוכנה עם לימודי תעודה בלבד ולא צורך בתואר.
בדיקות תוכנה ופיתוח אוטומציה הוא אחד המסלולים שאנו ממליצים עליהם בתור נקודת ההתחלה שלכם בעולם ההייטק, וניתן להירשם אליו גם ללא ניסיון קודם במחשבים או פיתוח תוכנה.
במסגרת קורס QA לקריירה בהייטק תקבלו ידע מקיף במתודולוגיות בדיקות התוכנה ובפיתוח אוטומציה.
המסלול כולל קורסים בתחומים הרלוונטיים ביותר כיום כגון: ארכיטקטורת מחשב, תכנות בשפות פייתון וג'אווה, מערכת הפעלה לינוקס, מסדי נתונים (SQL), כלי אוטומציה כגון Jenkins, Git ו – Selenium, מתודולוגיות בדיקות תוכנה, ורשתות.
בנוסף, בסיום המסלול תוכלו להתקדם לתקופת התמחות מעשית בבית התוכנה שלנו, שם תצברו ניסיון אמיתי בעבודה בתחום, ותוכלו למצוא עבודה בקלות דרך מרכז ההשמה שלנו, ואף להמשיך לעבוד אצלנו בבית התוכנה, אז בואו ללמוד ולעבוד איתנו!
התוכנה כיום אחראית על ביצוע משימות רבות בחיי היום-יום שלנו. רוב התקשורת בעולם מתנהלת על גבי האינטרנט, שירותי בנקאות עוברים להיות דיגיטליים, מכשירי IOT משמשים כמערכות ביטחון במוסדות רבים, ונראה שבעתיד הקרוב הנהיגה האוטונומית תשלוט על הרכבים שלנו.
המערכות והתוכנות שמבצעות את המשימות הנ"ל ורבות אחרות, נושאות איתן אחריות רבה, מאחר וללא בדיקות קפדניות, מקיפות, וקבועות, הן יהוו סכנה ממשית לתחומי הפעילות שלהן, ואף לחיי בני אדם.
בודק תוכנה אחראי לבצע בדיקות מקיפות של המוצר אותו הוא בודק.
בדיקות אלה בדרך כלל כוללות:
בדיקות בעבור ממשק המשתמש (בין אם הוא גרפי, או פיזי), נוחות השימוש במוצר, תפקודו בהתאם לפונקציונליות הרצויה, תגובתו לשימוש בלתי תקין בו, ביצועים התואמים את צרכי הלקוח, אבטחה ובטיחות השימוש, התאמה לפלטפורמות שונות, הישרדות המוצר במצבי קריסה, נגישות למוגבלויות, אינטגרציה עם המערכות הקשורות, ותחזוקה.
לצורך ביצוע בדיקות תקין ומוצלח עבור כל צדי המוצר, מומחה בדיקות תוכנה חייב לפעול בצורה מתודית וקפדנית, להכיר היטב את מתודולוגיות בדיקות התוכנה, להכיר את הסטנדרטים המודרניים בתחום המבוקש, ולהבין את דרישות הלקוח לעומק.
בנוסף, צוות ה- QA אחראי להנפקת מסמכים רשמיים בעבור הבדיקות אותן הוא מבצע. בדרך כלל מסמכים אלה יכללו מסמכי תכנון בדיקות, ודוחות על ביצועי הבדיקות.
מסמכים אלה בעלי חשיבות רבה בעולם בדיקות התוכנה.
ראשית, כמעט תמיד נראה שכמות הבדיקות שנרצה לבצע תהיה גבוהה יותר מהכמות שנספיק לבצע במציאות, ולכן, בכל סבב בדיקות חשוב שנתכנן מראש איזה בדיקות יתבצעו קודם, בהתחשב למשקל שניתן לכל בדיקה ובדיקה.
דוח ביצועי בדיקות תוכנה
דוח ביצועי הבדיקות לעומת זאת, יונפק לאחר סיום סבב הבדיקות ויכלול סטטיסטיקות המפרטות את אחוזי ההצלחה של הבדיקות, והשימוש בו נעשה לצורך ניהול סיכונים וקבלת החלטות באם המוצר הנבדק מוכן לצאת לשוק או לא.
בדיקות תוכנה ופיתוח אוטומציה
לאחרונה ניתן לראות שהביקוש עבור בודקי תוכנה המתמחים גם בפיתוח אוטומציה נמצא בעליה משמעותית. עם התפתחות העולם הדיגיטלי, הדרישות בעבור אתרי אינטרנט, יישומים, ושירותים דיגיטליים, גם מתפתחות, מבחינת עמידות בעומסים, ופונקציונליות מורכבת שרק הולכת ומתפתחת.
ישנן בדיקות שלא ניתן לבצע בצורה ידנית, או לפחות לא פרקטי לבצע ידנית.
דוגמא אחת לבדיקה שכזו, למשל, היא בדיקת עמידות בעומסים (Stress testing). בבדיקה זו נדמה פעילות של אלפים, או עשרות אלפי משתמשים בו-זמנית.
מטרת הבדיקה היא לבדוק את תקינות פעילות התוכנה תחת עומסים כבדים מהרגיל, במטרה לוודא שהיא לא תקרוס בסיטואציה של מחסור בכוח מחשוב, עליה פתאומית בפניות לשרת, או בזמן מתקפת מניעת שירות (Denial of Service).
אם מדובר למשל באפליקציית Web, אפשר לכתוב סקריפטים פשוטים יחסית לביצוע הבדיקות, להשתמש בבוטים, או בכלים מוכנים של DoS כדי ליצור סימולציה של מתקפת DoS.
רוב הפיתוחים כיום נעשים בשיטת Agile, אשר מחלקת את פיתוח התוכנה לסבבים קצרים הכוללים בדרך כלל וריאציה מסוימת של התהליך הבא: תכנון, פיתוח, בדיקות, אינטגרציה, ופריסה.
פיתוח תוכנה בשיטת Agile מאפשרת להציג את התקדמות הפרויקט ללקוח בתדירות גבוהה, ולפתח במקביל לדרישות הדינמיות של הלקוח.
עבודה בשיטה זו, מחייבת השתתפות אקטיבית של צוות בודקי התוכנה בפיתוח המוצר כבר מתחילת התהליך, ויישום בדיקות אוטומטיות הוא חלק אינטגרלי בתהליך זה.
סוג בדיקות מאוד חשוב בעת עבודה בשיטת Agile הוא בדיקות רגרסיה (regression testing) – מטרתן היא לבדוק שהפיתוחים החדשים לא פגעו בצורה כלשהי באלמנטים של המוצר שכבר נבדקו בעבר. לפעמים, כאשר מתקנים באגים או מפתחים פיצ'רים חדשים בתוכנה, הקוד החדש עלול לפגוע בתקינות הפעילות של התוכנה ולגרום לבאגים במקום אחר.
רצוי לבצע בדיקות רגרסיה בכל פעם שנרצה להשיק גרסה חדשה של תוכנה, מה שאומר שנחזור פעם אחר פעם על אותן הבדיקות. לכן, כדי להיות מהירים ויעילים יותר בתהליך הפיתוח, בדיקות רגרסיה, כמו בדיקות רבות אחרות, יתבצעו על ידי תהליך אוטומטי.
לצורך יישום בדיקות אוטומציה מסוימות נסתפק בהיכרות עם תוכנות מוכנות כגון התוסף של סלניום לדפדפן. אך בדיקות אלה אינן מספיקות לצורך בדיקה מעמיקה של המערכת וכל התכונות שלה. ליישום בדיקות אוטומציה מקיפות ומעמיקות, נצטרך להשתמש בכלים כמו אותו סלניום, אך השימוש בו יהיה על גבי שפת תכנות כמו פייתון או ג'אווה, שתאפשר לנו לכתוב תסריט בדיקה מורכב בהרבה.
לפעמים הבדיקות יכללו גם אינטראקציה עם מערכת ההפעלה בשרת או עם מסדי נתונים, ולצורך בדיקת תקינות התוכנה ניישם בדיקות אוטומציה גם על גבי מערכת ההפעלה (לדוגמא על ידי כתיבת סקריפט בשפת Bash), או נתממשק למסדי הנתונים כחלק מתהליך הבדיקה.
נשמח לייעץ, ללוות ולענות על כל השאלות