Sobes.tech
Middle

რა ხდება ტესტებთან ვერსიებსა და გარემოებს შორის გადასვლის დროს?

sobes.tech AI

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

პотребებულია ტესტების ადაპტაცია ცვლილებებთან შესაბამისობაში.

ძირითადი აქტივობები:

  1. ცვლილებების ანალიზი: Release Notes, დოკუმენტაცია და სპეციფიკაციები შესწავლით ახალი ფუნქციების, გამოსწორებების და ამოღებული ფუნქციების გაგებისთვის.
  2. რეგრესიით ტესტირება: არსებული ტესტების შესრულება, ძირითადი ფუნქციონალის სტაბილურობის შემოწმება, რომელიც არ შეცვლილა.
  3. ტესტების განახლება:
    • ტესტის შემთხვევები: ნაბიჯების, მოსალოდნელი შედეგების, წინაპირობების განახლება ახალი ლოგიკის შესაბამისი.
    • ავტომატიზებული ტესტები:
      • ელემენტების локატორების განახლება, თუ UI სტრუქტურა შეიცვალა.
      • ბიზნეს ლოგიკის შესაბამისი ტესტების ლოგიკის ცვლილება.
      • ახალი ავტომატიზებული ტესტების დამატება.
      • მოძველებული ტესტების არქივირება ან წაშლა.
    • ტესტის მონაცემები: ახალი გამოშვების ან გარემოს მოთხოვნებთან შესაბამისი მონაცემების განახლება ან შექმნა.
  4. ტესტის გარემოს კონფიგურაცია: გარემოს (სერვერები, მონაცემთა ბაზა, მესამე მხარის ინტეგრაციები) ახალი ვერსიის მოთხოვნების შესაბამისად.
  5. ტესტების შესრულება: განახლებული ტესტების გაშვება ახალი ვერსიაზე ან გარემოში.
  6. შედეგების ანალიზი: ჩავარდნილი ტესტების შესწავლა, ძირითადი მიზეზების გამოვლენა, დეფექტების დარეგისტრირება.
  7. ანგარიშგება: ტესტირების შედეგების, ტესტის შემთხვევების და დეფექტების შესახებ ანგარიშის შედგენა.

სწორედ გარემოების (Dev -> Stage -> Prod) შორის გადასვლისას, ძირითადი აქცენტი კეთდება სტაბილურობის, შესრულებისა და ინტეგრაციების შემოწმებაზე, მაქსიმალურად ახლოს რეალურ პროდუქტულ პირობებთან. ტესტები უნდა იყოს გარემოს-აგნოსტიკური, რამდენადაც შესაძლებელია.

ვერსიების (v1.0 -> v1.1) შორის გადასვლისას, ყურადღება გამახვილებულია ახალი ფუნქციონალის, გამოსწორებების და რეგრესიების ტესტირებაზე, რათა დარწმუნდეთ, რომ ცვლილებებმა არ დააზიანეს არსებული ფუნქციონალობა.

ავტომატიზებული ტესტის ადაპტაციის მაგალითი:

# ძველი კოდი (v1.0)
# პროდუქტის სიის გვერდზე გადასვლა
driver.find_element(By.CSS_SELECTOR, ".products-link").click()

# ახალი კოდი (v1.1) - შეიცვალა локატორი და დამატებულია კატეგორიის ფილტრი
# პროდუქტის გვერდზე გადასვლა და ფილტრის გამოყენება
driver.find_element(By.XPATH, "//nav/a[text()='კატალოგი']").click()
driver.find_element(By.ID, "category-filter").send_keys("ელექტრონიკა")