Sobes.tech
Middle

მოყევი მაგალითი, როგორ შეარჩევდი ტესტის შემთხვევებს PUT-სთვის.

sobes.tech AI

პასუხი AI-სგან

PUT მოთხოვნისთვის ტესტ-კეისების არჩევისას მე დავიცავდი შემდეგ პრინციპებს:

  1. პოზიტიური სენარიოები:

    • წარმატებით სრული განახლება არსებული რესურსის ვალიდური მონაცემებით.
    • წარმატებით ნაწილობრივი განახლება არსებული რესურსის (თუ API ამას უჭერს მხარს).
    • რესურსის განახლება ზღვრული მნიშვნელობების გამოყენებით.
  2. ნეგატიური სენარიოები:

    • რესურსის არარსებობა მითითებულ ID-ით.
    • არავალიდური ფორმატი ID-ისთვის.
    • არავალიდური მონაცემთა ტიპი მოთხოვნის ველებში.
    • აუცილებელი ველების არარსებობა მოთხოვნის სხეულში.
    • არავალიდური ფორმატი მოთხოვნის სხეულისთვის (მაგ. არა JSON).
    • მცდელობა განაახლოს ველები, რომლებიც არ უნდა განახლდეს (მაგ. ID, შექმნის თარიღი).
    • არასაკმარისი უფლებები რესურსის განახლებისთვის.
    • კონკურენტული განახლება რესურსზე.
  3. ზღვრული პირობები:

    • მაქსიმალური დაშვებული მნიშვნელობები ციფრულ ველებში.
    • ცარიელი სტრინგები სტრინგულ ველებში (თუ ეს დაშვებულია).
    • სპეციალური სიმბოლოები სტრინგულ ველებში.
    • გრძელი სტრინგები სტრინგულ ველებში.
  4. პარალელური ეფექტების შემოწმება:

    • სხვა დაკავშირებული რესურსების ცვლილება განახლების შემდეგ.
    • განახლებული მონაცემების სწორად ჩვენება სხვა სისტემის ნაწილებში.

მაგალითის სტრუქტურა ტესტ-კეისებისთვის (რესურსი user და ველები id, name, email):

TestCase ID აღწერა მოთხოვნის URL მოთხოვნის სხეული მოსალოდნელი სტატუს კოდი მოსალოდნელი პასუხის სხეული/ქცევა
PUT_USR_001 წარმატებული სრული განახლება /users/123 {"name": "New Name", "email": "new@example.com"} 200 განახლებული მომხმარებლის მონაცემები
PUT_USR_002 მომხმარებელი არ მოიძებნა /users/999 {"name": "New Name"} 404 შეცდომის შეტყობინება, რომ მომხმარებელი არ მოიძებნა
PUT_USR_003 არავალიდური ელფოსტის ფორმატი /users/123 {"email": "invalid-email"} 400 შეცდომის შეტყობინება, რომ ელფოსტის ფორმატი არავალიდურია
PUT_USR_004 აუცილებელი ველის არარსებობა /users/123 {} 400 შეცდომის შეტყობინება, რომ ველი არ არის მითითებული
PUT_USR_005 მაქსიმალური ზღვრული მნიშვნელობით განახლება /users/123 {"name": "A" * 255} 200 გრძელი სახელით განახლებული მონაცემები
PUT_USR_006 განახლების აკრძალული ველის განახლება /users/123 {"id": 456, "name": "New Name"} 400/403 შეცდომის შეტყობინება, რომ განახლება აკრძალულია ან სთხოვა არასწორია

რა თქმა უნდა, კონკრეტული ტესტ-კეისების რაოდენობა დამოკიდებულია API-ის სპეციფიკაციაზე, ბიზნეს ლოგიკაზე და სისტემის არქიტექტურაზე.