diff --git a/functional_tests/README.md b/functional_tests/README.md new file mode 100644 index 0000000..daab98b --- /dev/null +++ b/functional_tests/README.md @@ -0,0 +1,17 @@ +# Roost Generated Functional Test + +**Execution Date:** 12/10/2025, 12:43:19 PM + +**Test Unique Identifier:** "ZBIO-7556" + +**Input(s):** + 1. JIRA ID: ZBIO-7556 + +**Test Output Folder:** + 1. [ZBIO-7556.json](ZBIO-7556/ZBIO-7556.json) + 2. [ZBIO-7556.feature](ZBIO-7556/ZBIO-7556.feature) + 3. [ZBIO-7556.csv](ZBIO-7556/ZBIO-7556.csv) + 4. [ZBIO-7556.xlsx](ZBIO-7556/ZBIO-7556.xlsx) + +--- + diff --git a/functional_tests/ZBIO-7556/.roost/roost_metadata.json b/functional_tests/ZBIO-7556/.roost/roost_metadata.json new file mode 100644 index 0000000..a19f244 --- /dev/null +++ b/functional_tests/ZBIO-7556/.roost/roost_metadata.json @@ -0,0 +1,19 @@ +{ + "project": { + "name": "ZBIO-7556", + "created_at": "2025-12-10T12:43:19.610Z", + "updated_at": "2025-12-10T12:43:19.610Z" + }, + "files": { + "input_files": [ + { + "fileName": "ZBIO-7556.txt", + "fileURI": "/var/tmp/Roost/RoostGPT/hebrew-dec10/631a5fd2-9d45-4abb-849e-f706172a6a1c/functional_tests/ZBIO-7556/ZBIO-7556.txt", + "fileSha": "b0650ff01f" + } + ] + }, + "api_files": { + "input_files": [] + } +} \ No newline at end of file diff --git a/functional_tests/ZBIO-7556/ZBIO-7556.csv b/functional_tests/ZBIO-7556/ZBIO-7556.csv new file mode 100644 index 0000000..8f5abe0 --- /dev/null +++ b/functional_tests/ZBIO-7556/ZBIO-7556.csv @@ -0,0 +1,16 @@ +הגשת בקשה למשכנתא עם פרטים תקינים +חישוב החזר חודשי למשכנתא +אימות שדות חובה בטופס משכנתא +הגשת טופס משכנתא עם כל השדות ריקים +בדיקת מסלולי משכנתא שונים +העלאת מסמכים לבקשת משכנתא +העלאת מספר מסמכים לבקשת משכנתא +בדיקת הזנת סכום משכנתא לא תקין +צפייה בסטטוס בקשת משכנתא +צפייה בפרטי בקשת משכנתא מלאים +שמירת טיוטת בקשת משכנתא +אחזור טיוטת בקשת משכנתא שמורה +בדיקת זמן טעינת דף בקשת משכנתא +בדיקת זמני טעינה של דפים שונים במערכת +בדיקת אבטחת נתוני משכנתא - העברת נתונים מוצפנת +בדיקת אבטחת העברת נתונים רגישים \ No newline at end of file diff --git a/functional_tests/ZBIO-7556/ZBIO-7556.feature b/functional_tests/ZBIO-7556/ZBIO-7556.feature new file mode 100644 index 0000000..d9ed6f1 --- /dev/null +++ b/functional_tests/ZBIO-7556/ZBIO-7556.feature @@ -0,0 +1,230 @@ +Feature: מערכת בקשות משכנתא + כמשתמש במערכת הבנקאית + אני רוצה להגיש ולנהל בקשות משכנתא + כדי לקבל מימון לרכישת נכס + + Background: + Given המשתמש מחובר למערכת עם חשבון פעיל + And הדפדפן פתוח ומוכן לשימוש + + # ==================== בדיקות פונקציונליות - הגשת בקשה ==================== + + @functional @ui @TC-001 + Scenario Outline: הגשת בקשה למשכנתא עם פרטים תקינים + Given אני נמצא בדף בקשת משכנתא + When אני מזין סכום משכנתא מבוקש '<סכום_משכנתא>' + And אני מזין תקופת החזר '<תקופת_החזר>' + And אני מזין הכנסה חודשית '<הכנסה_חודשית>' + And אני מעלה מסמך '<סוג_מסמך>' + And אני לוחץ על כפתור 'הגש בקשה' + Then אני אמור לראות הודעת אישור 'הבקשה נשלחה בהצלחה' + And אני אמור לראות מספר בקשה ייחודי + + Examples: + | סכום_משכנתא | תקופת_החזר | הכנסה_חודשית | סוג_מסמך | + | 1,000,000 | 20 שנים | 25,000 | תלוש שכר | + | 500,000 | 15 שנים | 18,000 | אישור העסקה | + | 1,500,000 | 25 שנים | 35,000 | תלוש שכר | + | 800,000 | 10 שנים | 22,000 | אישור העסקה | + + # ==================== בדיקות מחשבון משכנתא ==================== + + @functional @ui @TC-002 + Scenario Outline: חישוב החזר חודשי למשכנתא + Given אני נמצא בדף מחשבון המשכנתא + When אני מזין סכום משכנתא '<סכום>' + And אני מזין תקופת החזר '<תקופה>' + And אני מזין שיעור ריבית '<ריבית>' + And אני לוחץ על כפתור 'חשב' + Then אני אמור לראות החזר חודשי משוער של כ-'<החזר_צפוי>' + + Examples: + | סכום | תקופה | ריבית | החזר_צפוי | + | 500,000 | 15 שנים | 4% | 3,698 ₪ | + | 1,000,000 | 20 שנים | 3.5% | 5,800 ₪ | + | 750,000 | 25 שנים | 4.5% | 4,170 ₪ | + | 300,000 | 10 שנים | 3% | 2,897 ₪ | + + # ==================== בדיקות ולידציה - שדות חובה ==================== + + @functional @ui @negative @TC-003 + Scenario Outline: אימות שדות חובה בטופס משכנתא + Given אני נמצא בדף בקשת משכנתא + When אני משאיר את שדה '<שם_שדה>' ריק + And אני לוחץ על כפתור 'הגש בקשה' + Then אני אמור לראות הודעת שגיאה '<הודעת_שגיאה>' + And הטופס לא אמור להישלח + + Examples: + | שם_שדה | הודעת_שגיאה | + | סכום משכנתא | שדה סכום משכנתא הוא שדה חובה | + | תקופת החזר | שדה תקופת החזר הוא שדה חובה | + | הכנסה חודשית | שדה הכנסה חודשית הוא שדה חובה | + | מסמכים נדרשים | יש להעלות מסמכים נדרשים | + + @functional @ui @negative @TC-003 + Scenario: הגשת טופס משכנתא עם כל השדות ריקים + Given אני נמצא בדף בקשת משכנתא + When אני משאיר את כל שדות החובה ריקים + And אני לוחץ על כפתור 'הגש בקשה' + Then אני אמור לראות הודעות שגיאה ליד כל שדה חובה + And הטופס לא אמור להישלח + + # ==================== בדיקות מסלולי משכנתא ==================== + + @functional @ui @TC-004 + Scenario Outline: בדיקת מסלולי משכנתא שונים + Given אני נמצא בדף בחירת מסלול משכנתא + When אני בוחר מסלול '<שם_מסלול>' + Then אני אמור לראות שיעור ריבית '<שיעור_ריבית>' + And אני אמור לראות סוג הצמדה '<סוג_הצמדה>' + And אני אמור לראות תקופת החזר מקסימלית '<תקופה_מקסימלית>' + + Examples: + | שם_מסלול | שיעור_ריבית | סוג_הצמדה | תקופה_מקסימלית | + | פריים | פריים + 0.5% | לא צמודה | 30 שנים | + | קבועה לא צמודה | 4.5% | לא צמודה | 25 שנים | + | משתנה צמודה למדד | 3.5% | צמודה למדד | 30 שנים | + | קבועה צמודה למדד | 3% | צמודה למדד | 20 שנים | + + # ==================== בדיקות העלאת מסמכים ==================== + + @functional @ui @TC-005 + Scenario Outline: העלאת מסמכים לבקשת משכנתא + Given אני נמצא בשלב העלאת מסמכים בתהליך הבקשה + When אני לוחץ על כפתור 'העלה מסמך' + And אני בוחר קובץ '<סוג_קובץ>' בשם '<שם_קובץ>' + And אני מאשר את ההעלאה + Then המסמך '<שם_קובץ>' אמור להופיע ברשימת המסמכים המצורפים + And אני אמור לראות הודעה 'המסמך הועלה בהצלחה' + + Examples: + | סוג_קובץ | שם_קובץ | + | PDF | תלוש_שכר.pdf | + | JPG | תעודת_זהות.jpg | + | PNG | אישור_העסקה.png | + | PDF | דוח_בנקאי.pdf | + + @functional @ui @TC-005 + Scenario: העלאת מספר מסמכים לבקשת משכנתא + Given אני נמצא בשלב העלאת מסמכים בתהליך הבקשה + When אני מעלה קובץ PDF של תלוש שכר + And אני מעלה קובץ תמונה JPG של תעודת זהות + Then שני המסמכים אמורים להופיע ברשימת המסמכים המצורפים + And אני אמור לראות 2 מסמכים ברשימה + + # ==================== בדיקות קלט לא תקין ==================== + + @functional @ui @negative @TC-006 + Scenario Outline: בדיקת הזנת סכום משכנתא לא תקין + Given אני נמצא בדף בקשת משכנתא + When אני מזין '<ערך_לא_תקין>' בשדה סכום המשכנתא + And אני מנסה להמשיך לשלב הבא + Then אני אמור לראות הודעת שגיאה '<הודעת_שגיאה>' + And אני לא אמור להצליח להמשיך בתהליך + + Examples: + | ערך_לא_תקין | הודעת_שגיאה | + | -100,000 | סכום המשכנתא חייב להיות חיובי | + | אבג | יש להזין מספרים בלבד | + | 50,000,000 | סכום המשכנתא חורג מהמקסימום המותר | + | 0 | סכום המשכנתא חייב להיות גדול מאפס | + | 10,000 | סכום המשכנתא נמוך מהמינימום הנדרש | + + # ==================== בדיקות סטטוס בקשה ==================== + + @functional @ui @TC-007 + Scenario Outline: צפייה בסטטוס בקשת משכנתא + Given המשתמש הגיש בקשת משכנתא בעבר + And אני מחובר למערכת + When אני נווט לאזור 'הבקשות שלי' + And אני לוחץ על בקשת המשכנתא עם סטטוס '<סטטוס>' + Then אני אמור לראות את סטטוס הבקשה '<סטטוס>' + And אני אמור לראות תאריך עדכון אחרון + + Examples: + | סטטוס | + | ממתין לאישור | + | בבדיקה | + | מאושר | + | נדחה | + + @functional @ui @TC-007 + Scenario: צפייה בפרטי בקשת משכנתא מלאים + Given המשתמש הגיש בקשת משכנתא בעבר + And אני מחובר למערכת + When אני נווט לאזור 'הבקשות שלי' + And אני לוחץ על בקשת המשכנתא לצפייה בפרטים + Then אני אמור לראות את סכום המשכנתא המבוקש + And אני אמור לראות את תקופת ההחזר + And אני אמור לראות את סטטוס הבקשה + And אני אמור לראות את תאריך הגשת הבקשה + + # ==================== בדיקות שמירת טיוטה ==================== + + @functional @ui @TC-008 + Scenario: שמירת טיוטת בקשת משכנתא + Given אני מחובר למערכת + And אני נמצא בדף בקשת משכנתא + When אני ממלא סכום משכנתא '750,000' + And אני ממלא תקופת החזר '18 שנים' + And אני לוחץ על כפתור 'שמור כטיוטה' + Then אני אמור לראות הודעה 'הטיוטה נשמרה בהצלחה' + + @functional @ui @TC-008 + Scenario: אחזור טיוטת בקשת משכנתא שמורה + Given שמרתי טיוטת בקשת משכנתא עם סכום '750,000' ותקופה '18 שנים' + And התנתקתי מהמערכת + When אני מתחבר מחדש למערכת + And אני נווט לאזור 'טיוטות' + And אני פותח את הטיוטה השמורה + Then אני אמור לראות סכום משכנתא '750,000' + And אני אמור לראות תקופת החזר '18 שנים' + + # ==================== בדיקות לא פונקציונליות - ביצועים ==================== + + @non-functional @performance @TC-009 + Scenario: בדיקת זמן טעינת דף בקשת משכנתא + Given הדפדפן פתוח עם מטמון נקי + And חיבור האינטרנט יציב בקצב סטנדרטי + When אני נווט לדף בקשת משכנתא + Then הדף אמור להיטען במלואו תוך פחות מ-3 שניות + And כל האלמנטים בדף אמורים להיות מוצגים + + @non-functional @performance @TC-009 + Scenario Outline: בדיקת זמני טעינה של דפים שונים במערכת + Given הדפדפן פתוח עם מטמון נקי + When אני נווט לדף '<שם_דף>' + Then הדף אמור להיטען תוך פחות מ-'<זמן_מקסימלי>' שניות + + Examples: + | שם_דף | זמן_מקסימלי | + | בקשת משכנתא | 3 | + | מחשבון משכנתא | 2 | + | הבקשות שלי | 3 | + | בחירת מסלול | 2 | + + # ==================== בדיקות לא פונקציונליות - אבטחה ==================== + + @non-functional @security @TC-010 + Scenario: בדיקת אבטחת נתוני משכנתא - העברת נתונים מוצפנת + Given כלי ניטור רשת פעיל + And אני נמצא בדף בקשת משכנתא + When אני ממלא את הטופס עם נתונים רגישים + And אני מגיש את הבקשה + Then כל התעבורה אמורה להיות מועברת באמצעות HTTPS + And הנתונים הרגישים אמורים להיות מוצפנים + + @non-functional @security @TC-010 + Scenario Outline: בדיקת אבטחת העברת נתונים רגישים + Given כלי ניטור רשת פעיל + When אני שולח נתון רגיש מסוג '<סוג_נתון>' + Then הנתון אמור להיות מוצפן בתעבורת הרשת + And הנתון לא אמור להיות קריא בטקסט גלוי + + Examples: + | סוג_נתון | + | מספר תעודת זהות | + | הכנסה חודשית | + | פרטי חשבון בנק | + | סכום משכנתא | diff --git a/functional_tests/ZBIO-7556/ZBIO-7556.json b/functional_tests/ZBIO-7556/ZBIO-7556.json new file mode 100644 index 0000000..571553c --- /dev/null +++ b/functional_tests/ZBIO-7556/ZBIO-7556.json @@ -0,0 +1,104 @@ +{ + "scenarios": [ + { + "type": "functional", + "title": "הגשת בקשה למשכנתא עם פרטים תקינים", + "description": "אימות הגשת בקשה למשכנתא עם כל הפרטים הנדרשים.", + "testId": "TC-001", + "testDescription": "משתמש ממלא את כל השדות הנדרשים בטופס בקשת משכנתא ומגיש את הבקשה בהצלחה.", + "prerequisites": "המשתמש מחובר למערכת ויש לו חשבון פעיל.", + "stepsToPerform": "1. נווט לדף בקשת משכנתא.\n2. הזן סכום משכנתא מבוקש (לדוגמה: 1,000,000 ₪).\n3. הזן תקופת החזר (לדוגמה: 20 שנים).\n4. הזן הכנסה חודשית (לדוגמה: 25,000 ₪).\n5. העלה מסמכים נדרשים (תלושי שכר, אישור העסקה).\n6. לחץ על כפתור 'הגש בקשה'.", + "expectedResult": "הבקשה נשלחת בהצלחה ומוצגת הודעת אישור עם מספר בקשה ייחודי." + }, + { + "type": "functional", + "title": "חישוב החזר חודשי למשכנתא", + "description": "אימות נכונות חישוב ההחזר החודשי על פי הפרמטרים שהוזנו.", + "testId": "TC-002", + "testDescription": "המערכת מחשבת את ההחזר החודשי המשוער על בסיס סכום המשכנתא, תקופת ההחזר ושיעור הריבית.", + "prerequisites": "מחשבון המשכנתא זמין בדף הבקשה.", + "stepsToPerform": "1. נווט למחשבון המשכנתא.\n2. הזן סכום משכנתא: 500,000 ₪.\n3. הזן תקופת החזר: 15 שנים.\n4. הזן שיעור ריבית: 4%.\n5. לחץ על כפתור 'חשב'.", + "expectedResult": "המערכת מציגה החזר חודשי משוער של כ-3,698 ₪ (בהתאם לנוסחת החישוב)." + }, + { + "type": "functional", + "title": "אימות שדות חובה בטופס משכנתא", + "description": "בדיקה שהמערכת מציגה הודעות שגיאה כאשר שדות חובה ריקים.", + "testId": "TC-003", + "testDescription": "המשתמש מנסה להגיש טופס משכנתא ללא מילוי שדות חובה.", + "prerequisites": "המשתמש נמצא בדף בקשת משכנתא.", + "stepsToPerform": "1. נווט לדף בקשת משכנתא.\n2. השאר את שדה סכום המשכנתא ריק.\n3. השאר את שדה תקופת ההחזר ריק.\n4. לחץ על כפתור 'הגש בקשה'.", + "expectedResult": "המערכת מציגה הודעות שגיאה ליד כל שדה חובה ריק ומונעת את הגשת הטופס." + }, + { + "type": "functional", + "title": "בדיקת מסלולי משכנתא שונים", + "description": "אימות אפשרות בחירה בין מסלולי משכנתא שונים.", + "testId": "TC-004", + "testDescription": "המשתמש בוחר מסלולי משכנתא שונים ורואה את ההבדלים בתנאים.", + "prerequisites": "קיימים מספר מסלולי משכנתא במערכת.", + "stepsToPerform": "1. נווט לדף בחירת מסלול משכנתא.\n2. בחר מסלול 'פריים'.\n3. צפה בתנאי המסלול.\n4. בחר מסלול 'קבועה לא צמודה'.\n5. צפה בתנאי המסלול.\n6. בחר מסלול 'משתנה צמודה למדד'.\n7. צפה בתנאי המסלול.", + "expectedResult": "כל מסלול מציג תנאים שונים כולל שיעור ריבית, סוג הצמדה ותקופת החזר מקסימלית." + }, + { + "type": "functional", + "title": "העלאת מסמכים לבקשת משכנתא", + "description": "אימות יכולת העלאת מסמכים נדרשים לבקשה.", + "testId": "TC-005", + "testDescription": "המשתמש מעלה מסמכים בפורמטים שונים לתמיכה בבקשת המשכנתא.", + "prerequisites": "המשתמש נמצא בשלב העלאת מסמכים בתהליך הבקשה.", + "stepsToPerform": "1. לחץ על כפתור 'העלה מסמך'.\n2. בחר קובץ PDF של תלוש שכר.\n3. אשר את ההעלאה.\n4. לחץ שוב על 'העלה מסמך'.\n5. בחר קובץ תמונה (JPG) של תעודת זהות.\n6. אשר את ההעלאה.", + "expectedResult": "שני המסמכים מועלים בהצלחה ומוצגים ברשימת המסמכים המצורפים." + }, + { + "type": "functional", + "title": "בדיקת הזנת סכום משכנתא לא תקין", + "description": "אימות טיפול המערכת בהזנת ערכים לא תקינים.", + "testId": "TC-006", + "testDescription": "המשתמש מזין ערכים לא תקינים בשדה סכום המשכנתא.", + "prerequisites": "המשתמש נמצא בדף בקשת משכנתא.", + "stepsToPerform": "1. נווט לדף בקשת משכנתא.\n2. הזן ערך שלילי בשדה סכום: -100,000.\n3. נסה להמשיך.\n4. הזן אותיות בשדה סכום: 'אבג'.\n5. נסה להמשיך.\n6. הזן סכום מעל המקסימום המותר: 50,000,000.", + "expectedResult": "המערכת מציגה הודעות שגיאה מתאימות לכל קלט לא תקין ומונעת המשך התהליך." + }, + { + "type": "functional", + "title": "צפייה בסטטוס בקשת משכנתא", + "description": "אימות יכולת המשתמש לעקוב אחר סטטוס הבקשה.", + "testId": "TC-007", + "testDescription": "המשתמש צופה בסטטוס העדכני של בקשת המשכנתא שהגיש.", + "prerequisites": "המשתמש הגיש בקשת משכנתא בעבר.", + "stepsToPerform": "1. התחבר למערכת.\n2. נווט לאזור 'הבקשות שלי'.\n3. אתר את בקשת המשכנתא.\n4. לחץ על הבקשה לצפייה בפרטים.", + "expectedResult": "המערכת מציגה את סטטוס הבקשה (ממתין לאישור/בבדיקה/מאושר/נדחה) עם תאריך עדכון אחרון." + }, + { + "type": "functional", + "title": "שמירת טיוטת בקשת משכנתא", + "description": "אימות יכולת שמירת בקשה כטיוטה להמשך מאוחר יותר.", + "testId": "TC-008", + "testDescription": "המשתמש שומר בקשת משכנתא חלקית כטיוטה ומאחזר אותה מאוחר יותר.", + "prerequisites": "המשתמש מחובר למערכת.", + "stepsToPerform": "1. התחל למלא בקשת משכנתא.\n2. מלא חלק מהשדות.\n3. לחץ על כפתור 'שמור כטיוטה'.\n4. התנתק מהמערכת.\n5. התחבר מחדש.\n6. נווט לאזור 'טיוטות'.\n7. פתח את הטיוטה השמורה.", + "expectedResult": "הטיוטה נשמרת בהצלחה וכל הנתונים שהוזנו נשמרים ומוצגים בעת פתיחה מחדש." + }, + { + "type": "non-functional", + "title": "בדיקת זמן טעינת דף בקשת משכנתא", + "description": "אימות שדף בקשת המשכנתא נטען בזמן סביר.", + "testId": "TC-009", + "testDescription": "מדידת זמן הטעינה של דף בקשת המשכנתא תחת תנאים רגילים.", + "prerequisites": "חיבור אינטרנט יציב בקצב סטנדרטי.", + "stepsToPerform": "1. פתח את הדפדפן.\n2. נקה את המטמון.\n3. הפעל כלי מדידת ביצועים.\n4. נווט לדף בקשת משכנתא.\n5. מדוד את זמן הטעינה המלא.", + "expectedResult": "הדף נטען במלואו תוך פחות מ-3 שניות." + }, + { + "type": "non-functional", + "title": "בדיקת אבטחת נתוני משכנתא", + "description": "אימות שנתוני המשכנתא מוצפנים ומאובטחים.", + "testId": "TC-010", + "testDescription": "בדיקה שכל הנתונים הרגישים מועברים בצורה מאובטחת.", + "prerequisites": "גישה לכלי ניטור תעבורת רשת.", + "stepsToPerform": "1. הפעל כלי ניטור רשת (כגון Wireshark).\n2. מלא טופס בקשת משכנתא עם נתונים רגישים.\n3. הגש את הבקשה.\n4. בדוק את התעבורה שנשלחה לשרת.", + "expectedResult": "כל הנתונים מועברים באמצעות HTTPS והנתונים הרגישים מוצפנים ואינם קריאים בתעבורת הרשת." + } + ] +} diff --git a/functional_tests/ZBIO-7556/ZBIO-7556.xlsx b/functional_tests/ZBIO-7556/ZBIO-7556.xlsx new file mode 100644 index 0000000..a3af681 Binary files /dev/null and b/functional_tests/ZBIO-7556/ZBIO-7556.xlsx differ