Middle
მოყევი მაგალითი, როგორ შეარჩევდი PUT მოთხოვნისთვის ტესტის შემთხვევებს.
sobes.tech AI
პასუხი AI-სგან
PUT-კეისების არჩევისთვის მე გამოვიყენებდი შემდეგ მიდგომებს, ყურადღება გამახვილებული სხვადასხვა ასპექტებზე:
-
ვალიდური მონაცემები:
- ჩანაწერის შექმნა / ცვლილება სწორი, სრული მონაცემებით.
- მხოლოდ ნაწილობრივი ველების ცვლილება, დანარჩენი უცვლელი რჩება.
- ყველა ველის ცვლილება ახალი, ვალიდური მნიშვნელობებით.
- საზღვრის მნიშვნელობების გამოყენება ციფრიანი ველებისთვის (მინიმალური, მაქსიმალური).
- სხვადასხვა მონაცემთა ფორმატების გამოყენება, რომლებიც განსაზღვრით არის დაშვებული (მაგალითად, თარიღი, დრო).
-
არავალიდური მონაცემები:
- არასწორი ტიპის ველის მონაცემების გადაცემა (მაგალითად, სტრიქონი ნაცვლად ნომრის).
- მონაცემების გადაცემა, რომელიც არღვევს სიგრძის ან დიაპაზონის შეზღუდვებს.
- მონაცემების გადაცემა, რომელიც არღვევს უნიკალურობის მოთხოვნას (თუ საჭიროა).
- არავალიდური ფორმატის მონაცემების გადაცემა (არასწორი თარიღი, ელფოსტა).
- აუცილებელი ველების არარსებობა.
- ცარიელი სტრიქონების ან null-ის გადაცემა ველებისთვის, რომლებიც არ უნდა იყოს ცარიელი.
-
რესურსის არსებობა:
- PUT-კითხვა არსებულ რესურსზე.
- PUT-კითხვა არარსებულ რესურსზე (მოლოდინში 404 პასუხი).
-
ავტორიზაცია და ავტენტიფიკაცია:
- სწორი მომხმარებლის მონაცემებით PUT-კითხვა, რომელიც აქვს უფლება რესურსის ცვლილებაზე.
- არასწორი ან არარსებული მომხმარებლის მონაცემებით (მოლოდინში 401 ან 403 პასუხი).
- მომხმარებლის მიერ უფლების არქონით რესურსის ცვლილებაზე (მოლოდინში 403 პასუხი).
-
სინქრონიზაცია და კონკურენცია:
- ერთდროულ PUT-კითხვები ერთ და იმავე რესურსზე (მაგალითად, etag-ის გამოყენებით).
-
შეცდომების დამუშავება:
- PUT-კითხვა, რომელიც უნდა გამოიწვიოს სერვერის მხარეზე შეცდომა (მაგალითად, შიდა სერვერის შეცდომა).
მაგალითი ტესტ-კეისების ცხრილიდან:
| ID | ტესტ-კეისის აღწერა | წინაპირობები | ტესტის მონაცემები (მოთხოვნის ნაწილი) | მოსალოდნელი შედეგი | HTTP კოდი |
|---|---|---|---|---|---|
| PUT-001 | არსებული რესურსის ცვლილება ვალიდური მონაცემებით | რესურსი ID=123 არსებობს | { "name": "New Name", "value": 100 } |
რესურსი წარმატებით განახლდა, მონაცემები შესაბამისია მოთხოვნასთან | 200 |
| PUT-002 | არსებული რესურსის ცვლილება ნაწილობრივი განახლებით | რესურსი ID=123 არსებობს | { "name": "მხოლოდ სახელი შეიცვალა" } |
რესურსი წარმატებით განახლდა, მხოლოდ სახელი შეიცვალა | 200 |
| PUT-003 | არარსებული რესურსის ცვლილების მცდელობა | რესურსი ID=999 არ არსებობს | { "name": "არარსებული განახლება" } |
რესურსი ვერ მოიძებნა | 404 |
| PUT-004 | რესურსის ცვლილება არავალიდური მონაცემით | რესურსი ID=123 არსებობს | { "value": "არათანაბარი ნომერი" } |
მონაცემთა ვალიდაციის შეცდომა | 400 |
| PUT-005 | ცვლილება ავტორიზაციის გარეშე | რესურსი ID=123 არსებობს, მოთხოვნა გარეშე ტოკენის | { "name": "ავტორიზაციის გარეშე" } |
არავართმოყენებული | 401 |
ყოველი ტესტ-კეისი უნდა იყოს აბსოლუტური და შემოწმდეს კონკრეტული ასპექტი PUT-კითხვაზე.