Sobes.tech
Junior

მოყევით მაგალითები, როგორ იწყება ტესტირების პროცესი.

sobes.tech AI

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

საფუძველზე, პროგრამული უზრუნველყოფის განვითარების ციკლის სხვადასხვა ეტაპზე შეიძლება დაიწყოს ტესტირების პროცესი, დამოკიდებულია არჩეულ მეთოდოლოგიაზე და პროექტის სპეციფიკაზე.

მაგალითები:

  • სწრაფი ტესტირება (ან Shift-Left Testing):

    • იწყება კოდის დაწერის წინარე ეტაპებზე: მოთხოვნების შეგროვება და ანალიზი, არქიტექტურის და მომხმარებლის ინტერფეისის დიზაინი.
    • QA მონაწილეობს დოკუმენტაციის (მოთხოვნები, სპეციფიკაციები) მიმოხილვაში, იპოვის გაუგებრობებს, წინააღმდეგობებს და პოტენციურ პრობლემებს ყველაზე ადრეულ ეტაპზე.
    • ტესტის შემთხვევების, ჩეკ-ლისტების დაწერა და ტესტირების სტრატეგიის ფორმირება განვითარებასთან ერთად.
    • გამოიყენება Agile და DevOps მიდგომებში.
  • განვითარების ეტაპზე ტესტირება (Unit Testing, Integration Testing):

    • იწყება, როდესაც პროგრამისტები იწყებენ კოდის დაწერას.
    • პროგრამისტები წერენ ერთეულ ტესტებს, რათა შეამოწმონ ცალკეული მოდულები ან ფუნქციები.
    • QA შეიძლება მონაწილეობდეს ინტეგრაციის ტესტირების დაგეგმვაში, ტესტის შემთხვევების დაწერაში ან თვითონ ინტეგრაციის ტესტების დაწერაში, თუ ისინი იყენებენ იგივე ფრეიმვორკებს, როგორც პროგრამისტები (Automation QA-ში).
  • სისტემის ტესტირება, მიღების ტესტირება, რეგრესიული ტესტირება:

    • იწყება, როდესაც კონკრეტული ფუნქციონალობა ან მოდული დასრულებულია და გაერთიანებულია მთლიან სისტემაში.
    • ხორციელდება სისტემის ყოვლისმომცველი ტესტირება.
    • მომხმარებლები ან კლიენტის წარმომადგენლები ახორციელებენ მიღების ტესტირებას.
    • ცვლილებების შემდეგ, ხორციელდება რეგრესიული ტესტირება, რათა დარწმუნდნენ, რომ ახალი ცვლილებები არ დაუზიანა არსებული ფუნქციონალობა.
  • პროდუქტში ხარვეზების გამოვლენის ტესტირება:

    • პროცესის დაწყება შეიძლება ხარვეზის აღმოჩენით მუშაობის სისტემაში, მომხმარებლის ან მონიტორინგის ინსტრუმენტების მიერ.
    • QA ანალიზს ახდენს ხარვეზს, განმეორებით ახდენს, ლოკალიზაციას და ქმნის ანგარიშს.
    • იწყება გამოსწორების ციკლი და გამოსწორებული ვერსიის შემდგომი ტესტირება.
# QA-ის მონაწილეობა ადრეულ ტესტირებაში (მოთხოვნების მიმოხილვა)
def review_requirements(requirements_doc):
    """
    ფსევდოკოდი მოთხოვნების დოკუმენტის მიმოხილვაზე QA-ს მიერ.
    """
    issues_found = []
    # სრულიობის შემოწმება
    if not all_requirements_are_clear(requirements_doc):
        issues_found.append("Некоторые требования неясны или двусмысленны.")
    # წინააღმდეგობების შემოწმება
    if has_conflicting_requirements(requirements_doc):
        issues_found.append("Обнаружены противоречивые требования.")
    # ტესტირების შესაძლებლობის შემოწმება
    if not are_all_requirements_testable(requirements_doc):
        issues_found.append("Некоторые требования сложно или невозможно протестировать.")
    
    return issues_found

# დახმარების ფუნქციები
def all_requirements_are_clear(doc):
    pass # სისწორის ლოგიკა
def has_conflicting_requirements(doc):
    pass # წინააღმდეგობების ლოგიკა
def are_all_requirements_testable(doc):
    pass # ტესტირების შესაძლებლობის ლოგიკა

ტესტირების დაწყების დრო დამოკიდებულია პროექტის სტრატეგიაზე, მაგრამ ტენდენციაა, ტესტირება გადაინაცვლოს ადრეულ ეტაპებზე (სწრაფი ტესტირება), რათა გაუმჯობესდეს ხარისხი და შემცირდეს შეცდომების გამოსწორების ხარჯები.