Пайдалар:
- Жасалма интеллект QA процессинде реалдуу убакытты үнөмдөгөн жерди жана "жарыялоого даяр" сыяктуу сапаттык чечимдерди аткаруунун тобокелдик деңгээлине жараша адамдарга калтырылган жерин ажырата билүү.
- Жалган өтүү коркунучун таануу жана кодду атайылап бузуу менен ар бир AI тестин сынаган текшерүү дисциплинасын ишке ашыруу мүмкүнчүлүгү
- Сыноо маалыматтарын, жеке маалыматтарды жана ачкычтарды коргоо жана коопсуздук тестин уруксаттын чегинде жана коргонуу максаттарында гана жүргүзүү адатына ээ болуу.
бошотуу түнү карап көрөлү. Жүздөгөн сыноолор жүргүзүлдү, алардын бардыгына жашыл жарык күйдү, команда жеңилдеп, программалык камсыздоо түз эфирге чыкты. Эртеси эртең менен кардар төлөм экраны бузулуп калганын билдирген. Тесттер жашыл болчу, бирок ал катаны көргөн жок. Бул сапат кепилдиги (QA) кесибинин эң тымызын коркунучтуу түшү, башкача айтканда, программалык камсыздоонун каалаган сапатта болушун системалуу түрдө камсыз кылган дисциплина: жашыл түстө күйүп турган, бирок иш жүзүндө эч нерсени ырастабаган тест. Жасалма интеллект (AI — тарыхый маалыматтардан үлгүлөрдү чыгарып, текстти жана кодду түзүүчү программалык камсыздоо) бул кесипке киргенде, дал ушул кошмардын чоң ылдамдашы да, чоңоюусу да болот. Бул модулдун алгачкы убадасы айкын: AI - бул тестирлөөчү жардамчы, пландын генератору жана идеяны көбөйтүүчү; Сиз "бул программа чыгарууга даярбы" деген чечимге кол койгон сыноочусуз.
Бул биринчи бөлүмдө биз куралга эмес, тартипке көңүл бурабыз. Сиз AI QA процессинде реалдуу убакытты кайдан үнөмдөгөнүн, кайда кооптуу экенин, эмне үчүн "жалган өтүү" деп аталган алдамчы жашыл эң чоң коркунуч экенин, ар бир жыйынтыкты кантип текшерүү керектигин жана кайсы аспапка кандай маалыматтарды бере аларыңызды билесиз. Бул пайдубалды тургузбаса, кийинки агрегаттар абада кала берет.
Тестирлөө процессинде AI кайда жардам берет?
Келгиле, тестирлөө иштерин эки чоң кластерге бөлөлү. Биринчи кластер: кайталануучу, өндүрүмдүү, долбоор жумуштары. Талаптан сыноо ишин түзүү, үзгүлтүккө учуратуу чекиттерин тизмелөө, экран үчүн автоматташтырылган коддун скелетин жазуу, татаал ката учурун тыкан ката отчетуна которуу, журнал файлдарынын жүздөгөн саптарын жалпылоо, API жоопунан схеманы алуу. Бул тапшырмаларда AI мүнөттөрдү секундага кыскартат жана чарчабайт.
Экинчи кластер: натыйжасы сапат, ишеним жана жоопкерчилик болгон чечимдер. "Бул версия түз иштей алабы", "бул ката маанилүүбү же аны кийинкиге калтырууга болобу", "бул сыноону камтуу жетиштүүбү", "бул сценарий колдонуучунун реалдуу тобокелдигин камтыйбы" ж.б. сыяктуу чечимдер контекстти, продукт билимин жана жоопкерчилигин талап кылат. Бул жерде AI варианттарды, долбоорлорду жаратат, бирок сиз "өттү/өтпөй калды" жана "баруу/барбоо" деген чечимди кабыл аласыз.
Айырмачылыкты бир сүйлөм менен тактап көрөлү: AI "кандай жагдайларды сынаса болот жана аны сынаган кодду кантип жазуу керек" боюнча күчтүү; "Бул программа чындап эле иштейби жана ага ким кепилдик берет?" деген суроого келгенде чечим сиздики.
Кеңеш: Жумушту AIга тапшырардан мурун: "Эгер бул жыйынтык туура эмес болсо жана мен байкабай калсам эмне болот?" Эгер жооп "Мен бир нече мүнөттү жоготуп алам" болсо, оңой эле өткөрүп бериңиз. Эгерде жооп "каталуу программалык камсыздоо жандырылды" болсо, AI долбоорду иштеп чыксын жана сиз чечим кабыл алып, текшерүүнү жасайсыз.
False pass: QAдагы AIнын биринчи коркунучу
Сыноо жашыл түстө күйгөндө, бул эки нерсени билдириши мүмкүн: же программа чындыгында туура иштеп жатат, же тест туура эмес жазылгандыктан катаны көрбөй жатат. Экинчиси жалган өтүү деп аталат - тест "өттү" дейт, бирок иш жүзүндө эч нерсе ырастабайт. Бул коркунуч AI менен жасалган тесттерде бир топ жогорулайт, анткени AI эркин, жылмакай, бирок бош тесттерди жазууда абдан ийгиликтүү.
Жалган өтүүнүн эң кеңири таралган үч формасы: (1) Бекитүүсүз тестирлөө — код иштейт, ырастоолорду камтыбайт, ар дайым өтөт. (2) Өзүн өзү текшерүүчү тест - тесттин күтүлгөн мааниси сыналуучу коддун чыгышынан эсептелет; Башкача айтканда, код эмнени чыгарбасын, тест "туура" деп кабыл алат. (3) Туура эмес нерсени тастыктаган тест — ырастоо бар, бирок ал чыныгы бизнес эрежесин эмес, арзыбаган нерсени (мисалы, "жооп нөл эмес") текшерет.
Эскертүү: Жашыл тест панели сапаттын далили эмес; Эң жакшы дегенде, "биз жазган башкаруулар азыр бузулган жок" дейт. AI чыгарган тесттен "өткөрүүнү" көрүп сооронбоңуз - чыныгы суроо: эгер мен атайылап кодду бузуп алсам, бул тест кызыл болуп калабы? Айланбаса, ал сыноо жасалгасы.
Бул модулда кайталануучу алтын эреже: кодду атайылап бузуп, ар бир AI тестин сынап көрүңүз. Эгер тест дагы эле жашыл болсо, анда ал тест иштебей жатат. (Биз бул идеяны 10-бөлүктө мутация тести катары тереңдетебиз.)
Текшерүү тартиби: үч кадам
AI ишенимдүү сүйлөйт; Бул чындык дегенди билдирбейт. Ар бир жыйынтыкка колдонуу үчүн үч кадамдуу рефлексти иштеп чыгуу:
- Аны талапка байлаңыз. Ар бир сыноо учуру жана AI өндүрөт деп ырастоо реалдуу талапка же кабыл алуу критерийлерине негизделиши керек (иш "бүттү" деп эсептелиши үчүн жооп бериши керек болгон шарттар). "Бул сценарий кайсы эрежени тастыктайт?" сура.
- кызыл кара. Түзүлгөн тестти кодду бузуп, бир жолу иштетиңиз. Эгерде ал кызарбаса, тест жараксыз болуп саналат. Бул AI тестирлөөдөгү сүйлөшүүгө болбой турган кадам.
- Аны контексттик чыпкадан өткөрүңүз. Чыгуу сиз билген продукттун жүрүм-туруму, архитектурасы, чыныгы колдонуучу агымы менен дал келеби? Сиздин домен билимиңиз акыркы чыпка болуп саналат.
Маалыматтын купуялыгы жана коопсуздугу: эмне кайда барат?
Сыноо чөйрөсүндө сиз менен иштеген маалыматтар көбүнчө сезимтал болот: чыныгы кардар жазуулары, өндүрүш базасынын көчүрмөлөрү, API ачкычтары, системанын ички даректери, азырынча жарыялана элек функциялар. Жөнөкөй классификация жасаңыз: Ачык маалыматтар (документтелген, жалпыга жеткиликтүү) каалаган унаага кире алат. Ички маалыматтар (булак коду фрагменттери, ички документтер) агенттик тарабынан бекитилген куралдарга гана. Жашыруун маалыматтар (чыныгы кардар маалыматтары, инсандык маалымат, аялуу реквизиттери, ачкычтар) мекеменин келишимдик инструменттерине гана кирет, алардын маалыматтары моделдик окутууга кирбейт, жакшысы маска менен.
Коопсуздук тестирлөө контекстинде кошумча чектөө бар: бул модулда үйрөнгөн нерселердин баары коргонуу максатында — өзүңүздүн продуктуңуздун коопсуздугун авторитеттүү түрдө текшерүү үчүн. Башка бирөөнүн тутумуна уруксатсыз кирүү, чыныгы аялуу жерлерди куралдандыруу же сизде эч кандай укугу жок системаны сынап көрүү үчүн AI колдонуу этикага туура келбейт да, кылмыштуу да. Уруксатсыз эч кандай адепсиз тестирлөө жүргүзүлбөйт (көлөмү жана уруксаты).
Кеңеш: Кардардын чыныгы маалыматтарынын ордуна синтетикалык (жасалма жол менен өндүрүлгөн) тесттик маалыматтарды колдонуңуз. AIдан "реалдуу, бирок толугу менен ойдон чыгарылган тест маалыматтарын түзүүнү" сурануу купуялуулукту сактайт жана эң четки учурларды диверсификациялайт.
үч мини учурлар
1-жагдай — Убакытты үнөмдөөчү туура жерде. Ekomerce командасынын сыноочусу ар бир релиз үчүн 30 барактан турган талаптар документинен тесттик сценарийди кол менен түзүүгө 6 саат жумшады. Ал документти (коммерциялык сырды камтыбаган бөлүгүн) Ю.З.га берип, сценарийдин структуралык долбоорун сураган; Убакыт 90 мүнөткө чейин кыскарды. Ал үнөмдөлгөн убактысын AI өткөрүп жиберген бизнес эрежесин кошуп, текшерүүгө арнады. AI кайра-кайра кайталануучу ишти алып салып, сот чечимин адамга калтырды.
2-жагдай - Жасалма жол менен кармалган. Иштеп чыгуучу AI эсептөө функциясы үчүн 12 бирдик тесттерин жазган; алардын баары жашыл болчу. Сыноочу "кызылды кара" кадамын ишке ашырды: функциянын ичиндеги кошуу белгисин көбөйтүүгө атайылап өзгөртүү. 12 тесттин ичинен үчөө гана кызыл болуп чыкты. Калган 9 тест эч кандай реалдуу ырастоо берген; Ал жөн гана "ката кетирген жок" деп жазылган. 9 декоративдик тест өчүрүлүп, ордуна 5 реалдуу тест жазылган.
3-жагдай - Купуялыктын бузулушунан кайтуу. Практикант кардарлардын чыныгы электрондук каттарын жана карттын акыркы төрт цифрасын камтыган ката журналын өндүрүштүк маалымат базасынан жалпыга ачык куралга чаптап, "бул катаны түшүндүрүп бер" деди. QA лидери кийлигишти: бул жеке маалыматтар көзөмөлдөн чыккан жана KVKK (Жеке маалыматтарды коргоо мыйзамы) бузулган. Ошол эле иш мекеме бекиткен унаада жасалып, жеке жерлерди маскалап, стек изин гана калтырышкан.
Көчүрүү үчүн төрт шаблон
1) Кызматка ылайыктуулугун баалоо:
Сиздин ролуңуз: QA улук лидери. Мен сизге сыноо ишин сүрөттөп берем. Мага (1) бул иш AIга ишенимдүү түрдө бериле турган долбоорлоо/талдоо ишиби же адам кабыл алышы керек болгон сапаттуу чечимби, (2) туура эмес чыгаруунун мүмкүн болуучу наркын, (3) тапшырардан мурун мен текшерүү керекпи. Жумуш: [жумушту бул жерге киргизиңиз]
2) Псевдо-өткөрүү контролу:
Төмөнкү тестти карап көрүңүз. Айтчы мага:- Бул тест кандай жүрүм-турумду тастыктайт? (бир сүйлөм)- Сыноодогу кодду кантип сындырып алам, ошондо тест КЫЗЫЛ болуп калат?- Бул тесттен ар дайым өтүшүнө себеп боло турган алсыздык барбы (тастыктоо, өзүн-өзү текшерүү, майда-чүйдө текшерүү)? Тест: [тестти бул жерге чаптоо]
3) Сыноо маалыматтарын масканы башкаруу:
Мен сизге бере турган журнал/маалымат жеке же жашыруун талааларды камтышы мүмкүн (e-mail, аты-жөнү, карта, ачкыч, ички дарек). Биринчиден, маскировкалоо керек болгон талааларды тизмектеңиз; Мен аны маскалап, кайра жөнөтөм. Аны кандай болсо, ошондой анализ кылба.
4) Синтетикалык тест маалыматтарын түзүү:
[Төмөнкү талаа түзүмү] үчүн 20 катар толугу менен ойдон чыгарылган, реалдуу сыноо маалыматтарын жаратыңыз. Чыныгы адамдын/уюмдун маалыматтарын колдонбоңуз. Ошондой эле четки учурларды камтыйт: бош орун, өтө узун текст, чектөө маанилери, жараксыз формат.
Алсыз тездик / Күчтүү тездик
Алсыз: "Бул код боюнча тесттерди жазыңыз."
Күчтүү: "Эсептеңиз, дисконт функциясы үчүн бирдик тесттерин жазуу. Функцияны кабыл алуу критерийлери: 1000 TLден жогору 10% арзандатуу, 5000 TLден жогору 20% арзандатуу; терс сумма ката кетириши керек. Ар бир сыноо үчүн кайсы эрежени текшерип жатканыңызды комментарий сызыгы менен белгилеңиз. Чектүү маанилерди сынаңыз (999, 50, 10, 10 -1) эгер мен бош коду бузуп койсом, же арзыбаган ырастоону жазбасам, чыныгы ырастоону колдонуңуз."
Күчтүү тездик; Ал кабыл алуу критерийлерин, чектик маанилерди, валидация күтүүлөрүн жана спофингге каршы ачык көрсөтмөлөрдү берет. Алсыз эскертүү AIны кооздук тест жазууга чакырат.
Жалпы каталар
- Ишенүү жашыл. Сыноодон өтүү далили деп ойлойм. Чыныгы суроо: кодду бузганда ал кызарып кетеби?
- Эч кандай себеп көрсөтпөстөн тест тапшырууну талап кылуу. AI эмнени текшерүү керектигин билбей туруп жалпы, көбүнчө пайдасыз тесттерди чыгарат.
- Текшерүү өткөрүп жиберилүүдө. "Аны AI жазган, бул чын болсо керек" деп. Жоопкерчилик продукцияны колдонгон адамда болот.
- Чыныгы/сезимтал маалыматтарды куралга чаптоо. Өндүрүш маалыматтары, ачкычтар же жеке маалыматтар менен иштөө.
- Уруксатсыз коопсуздук тести. Көлөмү жана уруксаты жок адепсиз сыноого аракет кылуу.
- Чечим кабыл алууну тапшыруу үчүн AI колдонуу. “Бул версияны чыгарса болобу?” деген суроону берип жатып. AI жана жооп кол коюу.
Кыскача айтканда
AI - кайталануучу жана жемиштүү ишти тездеткен QA процессиндеги күчтүү жардамчы; Бирок сапаттуу чечим үчүн жоопкерчилик адамда. Бул кесиптеги AIнын биринчи коркунучу - псевдо-өтүү: тыкан көрүнгөн, бирок эч нерсени ырастабаган жашыл тесттер. Кодду атайылап бузуп, ар бир AI тестин сынап көрүңүз; Эгерде ал кызарбаса, анда ал сыноо жасалгасы. Аны талапка байлаңыз, кызылды көрүңүз, контексттик чыпкадан өткөрүңүз. Жашыруун маалыматтарды маска, коопсуздук тестин уруксат берилген жана коргонуу максатында гана аткарыңыз.
Колдонмо тапшырмасы
Өзүңүздүн долбооруңуздан 5 AI тарабынан түзүлгөн (же AI тарабынан түзүлгөн) бирдик тесттерин алыңыз. Ар бири үчүн: (1) кайсы жүрүм-турумду текшерип жатканын бир сүйлөм менен жазыңыз, (2) сынап жаткан кодду атайылап бузуп, иштетиңиз жана канчасы кызылга айланып кеткенин белгилеңиз, (3) кызылга айланбагандарын "декор тесттери" деп белгилеп, аларды чыныгы ырастоо менен кайра жазыңыз. Натыйжаны таблицага салыңыз: тесттин аталышы / эреже ал текшерилди / бузулганда бузулганбы / иш-аракет.
текшерүү тизмеси
- [ ] Ишти тапшыраардан мурун "ал туура эмес болуп кетсе эмне жоготом?"
- [ ] Мен ар бир AI тестин кодду бузуу менен сынап көрдүм; Кызарбаганын чыныгы тестке алмаштырдым.
- [ ] Мен сыноо учурларын чыныгы талап/кабыл алуу критерийлери менен байланыштырдым.
- [ ] Мен куралга бербестен, сезимтал/чыныгы маалыматтарды жашырдым; Мүмкүн болсо синтетикалык маалыматтарды колдондум.
- [ ] Мен коопсуздукту текшерүүнү ыйгарым укуктун чегинде жана коргонуу максатында гана карадым.
- [ ] "Версия чыгабы же жокпу" деген чечимди AIга эмес, өзүмө калтырдым.