Sobes.tech
Junior

Ներկայացրեք օրինակներ, թե ինչպես է սկսվում թեստավորման գործընթացը։

sobes.tech AI

Պատասխան AI-ից

Թեստավորման գործընթացը կարող է սկսվել ծրագրային ապահովման զարգացման կյանքի ցիկլի տարբեր փուլերում՝ կախված ընտրված մեթոդաբանությունից և նախագծի առանձնահատկություններից:

Օրինակներ՝

  • Արագ թեստավորում (կամ Shift-Left Testing):

    • Սկսում է այն փուլերում, որոնք նախորդում են կոդի գրությանը՝ պահանջների հավաքագրում և վերլուծություն, ճարտարապետության և օգտագործողի ինտերֆեյսի նախագծում:
    • QA-ն մասնակցում է փաստաթղթավորման (պահանջներ, տեխնիկական բնութագրեր) վերանայմանը՝ բացահայտելով անհասկանալիություններ, հակասություններ և հնարավոր խնդիրներ ամենասկզբում:
    • Թեստային դեպքերի, ստուգման ցանկերի գրառում և թեստավորման ռազմավարության ձևավորում՝ զարգացմամբ միաժամանակ:
    • Կիրառվում է Agile և DevOps մոտեցումներում:
  • Ծրագրավորման փուլում թեստավորում (Unit Testing, Integration Testing):

    • Սկսում է, երբ ծրագրավորողները սկսում են գրել կոդ:
    • Ծրագրավորողները գրում են միավորային թեստեր՝ առանձին մոդուլների կամ ֆունկցիաների ստուգման համար:
    • QA-ն կարող է մասնակցել ինտեգրացիոն թեստավորման պլանավորմանը, թեստային դեպքերի գրառմանը կամ նույնիսկ ինթեգրացիոն թեստերի գրառմանը՝ եթե օգտագործում են նույն ֆրեյմվորկերը, ինչ ծրագրավորողները (Automation QA-ում):
  • Հետ ծրագրային ապահովման տեղադրման (System Testing, Acceptance Testing, Regression Testing):

    • Սկսում է այն ժամանակ, երբ որոշ ֆունկցիոնալություն կամ մոդուլ ավարտված է և հավաքված ամբողջական համակարգում:
    • Կատարվում է ամբողջ համակարգի համապարփակ թեստավորում:
    • Օգտագործողները կամ պատվիրատուի ներկայացուցիչները իրականացնում են ընդունման թեստավորում:
    • Փոփոխություններից հետո կատարվում է ռեգրեսիոն թեստավորում՝ համոզվելու համար, որ նոր փոփոխությունները չեն խաթարում առկա ֆունկցիոնալությունը:
  • Աշխատանքային համակարգում թեստավորում՝ թերությունների հայտնաբերման համար:

    • Թեստավորման գործընթացը կարող է սկսվել թերության հայտնաբերման արդյունքում՝ օգտագործողի կողմից կամ մոնիտորինգի գործիքների միջոցով:
    • 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 # Լոգիկա՝ թեստավորման հնարավորության ստուգում

Թեստավորման սկիզբը կախված է նախագծի ռազմավարությունից, սակայն տենդենցը՝ թեստավորումը տեղափոխել ձախ կողմ (առաջին թեստավորում), ավելի տարածված է՝ բարելավելու որակը և նվազեցնելու սխալների շտկման արժեքը: