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';