Sobes.tech
Middle

Ի՞նչ թեստային դեպքեր կարելի է մշակել տվյալների բազաները փորձարկելու համար։

sobes.tech AI

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

Տվյալների բազայի կառուցվածքի թեստավորում, ներառյալ սխեմաները, աղյուսակները, ինդեքսները, Constraints (PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK, NOT NULL):

Տվյալների թեստավորում:

  • Դատարկությունների ճշգրտության ստուգում՝ INSERT, UPDATE, DELETE գործողություններից հետո:
  • Տվյալների համապատասխանության ստուգում բիզնես-լոգիկային:
  • Տվյալների ամբողջականության թեստավորում՝ համաժամանակյա գործողությունների ժամանակ (կոնկուրենտ մուտք):
  • Տվյալների ներբեռնում/արտահանում թեստավորում:
  • Տվյալների միգրացիայի թեստավորում:

Պահվող պրոցեդուրաների, ֆունկցիաների և տրիգգերների թեստավորում:

  • Ներմուծման և արտածման պարամետրերի և արդյունքների թեստավորում:
  • Հետագամ սխալների և բացառությունների մշակման թեստավորում:
  • Տվյալների ազդեցության թեստավորում աղյուսակներում:
  • Արդյունավետության թեստավորում:

Արդյունավետության և բեռի թեստավորում:

  • Հարցումների կատարման ժամանակի թեստավորում (SELECT):
  • Տվյալների փոփոխման գործողությունների արագության թեստավորում (INSERT, UPDATE, DELETE):
  • Բարձր բեռի տակ տվյալների բազայի վարքագծի թեստավորում:
  • Մասշտաբայնության թեստավորում:

Անվտանգության թեստավորում:

  • Օգտագործողների իրավունքների ստուգում:
  • SQL-հակառակը թաքնված թեստավորում:
  • Աուդիտ և գրանցման թեստավորում:

Սխալների վերականգնման և տվյալների կրկնօրինակի թեստավորում:

Constraints ստուգելու համար օրինակային դեպքեր:

ID Դեպքի անվանում Քայլեր Ապահովված արդյունք
1 PRIMARY KEY - արժեքի կրկնություն Նոր գրառում ավելացնել՝ ID-ով, որը արդեն գոյություն ունի աղյուսակում: Համակարգը պետք է ցույց տա կրկնության սխալ PRIMARY KEY-ի խախտման մասին:
2 FOREIGN KEY - հղում չհասած գրանցման վրա Գրառում ավելացնել՝ հղում անելով ID-ով, որը չկա ծնողական աղյուսակում: Համակարգը պետք է ցույց տա արտաքին հղում խախտելու սխալ:
3 NOT NULL - NULL արժեք ավելացնել Գրառում ավելացնել՝ թողնելով NULL այն դաշտում, որը նշված է որպես NOT NULL: Համակարգը պետք է ցույց տա NOT NULL սահմանափակման խախտման սխալ:
4 CHECK - սխալ արժեք Գրառում ավելացնել կամ թարմացնել՝ արժեքով, որը չի համապատասխանում CHECK սահմանափակմանը (օր., բացասական տարի): Համակարգը պետք է ցույց տա CHECK սահմանափակման խախտման սխալ:

SQL հարցում օրինակ՝ հակառակի թեստավորման համար:

-- SQL-հակառակի հնարավորության ստուգում մուտքագրող դաշտում
SELECT * FROM users WHERE username = 'admin' AND password = '' OR '1'='1';

Արդյունավետության թեստավորման համար հարցում օրինակ՝

-- Կատարման ժամանակի չափում բարդ SELECT հարցում
EXPLAIN ANALYZE SELECT o.order_id, c.customer_name, p.product_name
FROM orders o
JOIN customers c ON o.customer_id = c.customer_id
JOIN order_items oi ON o.order_id = oi.order_id
JOIN products p ON oi.product_id = p.product_id
WHERE c.country = 'USA' AND o.order_date > '2023-01-01';