Google шиг томоохон програм хангамжууд програм хангамжийнхаа хамгийн чухал ач холбогдол бүхий алдаануудыг үл хайхран амжилтанд хүрч чадсан ч жижиг компаниуд болон бизнесүүд тансаг зэрэглэлийнх биш юм.
Хэрэглэгчид бүтээгдэхүүнээ борлуулалтын хуудсан дээр эсвэл баримт бичигт шаарддаг зүйлсийг хийхийг хүлээж байдаг. Тэнд маш олон сонголт байгаа тул бүтээгдэхүүн нь цаг хугацаа, мөнгөө үрэн таран хийвэл тэд хөлөг онгоцон дээр үсрэх талаар хоёр удаа бодохгүй. Тиймээс програм хангамжийг гаргахын өмнө маш нарийн туршилтуудыг хийдэг:
анхны үзэл баримтлал болон эцсийн гаралтын хоорондох ялгааг тодруулаарай
Програм хангамжийг дизайнерын төлөвлөсөн арга замыг шалгана уу
Эцсийн бүтээгдэхүүнийг баталгаажуулах - бүтээгдэхүүн нь хэрэглэгчийн шаардлагыг хангах ёстой
шинж чанар, чанарыг үнэлэх
Туршилт нь хатуу зураг төслийг дагана. Энэ нь үнэ цэнэтэй нөөц, ур чадвар, цаг хугацаа, мөнгийг ашиглах боломжийг нэмэгдүүлдэг. Зорилго нь эцсийн хэрэглэгчийн сайн туршлагыг чанарын баталгааны хөтөлбөрөөр дамжуулан дэмжих явдал юм. Тасралтгүй өндөр хэмжээний хувьцаануудтай, QA менежерүүд технологийн шилдэг ажилчдын зарим нь. Эдгээр алхмууд нь ихэнхдээ дагадаг:
Шаардлагатай шинжилгээний стратеги төлөвлөгөөг хэрэгжүүлэхэд менежерүүд төлөвлөж буй эсэхийг тодорхойлох.
Туршилтыг эхлээд шинжилгээнд хамрагдана.
Аливаа согогыг засаж залруулж, программ хангамжийг регрессийн сорилтоор дамжуулдаг - програмыг засварлах аргаар ажиллаж байгаа эсэхийг шалгана.
Туршилтын хаалтын тайланд бүх үйл явц, үр дүнг нарийвчлан тодорхойлдог.
Програм хангамж шалгах арга
Бүтээгдэхүүний зан төлөв, гүйцэтгэлийг үнэлэхэд хэрэглэгддэг янз бүрийн аргууд байна.
Хар хайрцаг, цагаан хайрцгийн туршилт нь хоёр үндсэн арга юм.
- Хар хайрцагны туршилт - Функциональ эсвэл тодорхойлолтод тулгуурласан сорилт гэж нэрлэгддэг энэ аргаар гаралт дээр анхаарлаа төвлөрүүлдэг. Тестерүүд нь дотоод механизмд санаа зовохгүй байна. Зөвхөн програм хангамж нь юу хийх ёстойг л шалгадаг. Кодлолын талаарх мэдлэг шаардлагагүй бөгөөд шалгагч нар хэрэглэгчийн интерфейсийн түвшинд ажилладаг.
- Цагаан хайрцгийн туршилт - Энэ арга нь туршилтын журмын нэг хэсэг болгон кодлох ноу-хауг ашигладаг. Бүтээгдэхүүн нь бүтэлгүйтсэн тохиолдолд шалгагч нар шалтгааныг олохын тулд кодыг гүнзгийрүүлэн явуулна. Програм хангамж хөгжүүлэгчид өөрсдөө бүтээгдэхүүнээ хэрхэн ажиллуулахаа тодорхойлж байдаг тул үүнийг хийдэг. Бүтцийн болон шилэн хайрцагны туршилт нь энэ аргын өөр нэр юм.
- Статик туршилт - Туршилтууд програм хангамжийн код, баримтыг шалгаж үзэх боловч програмыг ажиллуулахгүй. Статик туршилт нь баталгаажуулалтын явцад бүтээгдэхүүний хөгжлийг эрт эхэлдэг.
- Динамик тест - Програм хангамжийг янз бүрийн оролтоор гүйцэтгэдэг бөгөөд тестерүүд энэ аргаар хүлээгдэж буй үр дүнг гаралтын үр дүнг харьцуулах болно.
- GUI тест - Энэ тестийн GUI шинж чанарууд - текст формат, текст хайрцаг, товч, жагсаалт, байршил, өнгө, фонт, фонтын хэмжээ, гэх мэт. GUI тест нь цаг хугацаа их шаарддаг бөгөөд гуравдагч талын компаниуд ихэвчлэн хөгжүүлэгчдийн оронд даалгаврыг гүйцэтгэдэг.
Тестийн түвшин
Эдгээр нь програм хангамжийн хөгжүүлэлтийн амьдралын мөчлөгийн үе шат бүрийн сул тал, давхцалыг тодорхойлоход зайлшгүй шаардлагатай.
- Нэгжийн тест - Хөгжүүлэгчид нь анги, интерфэйс, функц / процедур зэрэг кодын үндсэн хэсгүүдийг туршина. Тэд кодоо хэрхэн хүлээж авах ёстой, гарцаас хамаарч тохируулга хийж чадна.
- Бүрэлдэхүүн хэсэг тест - Өөр нэрс нь модуль эсвэл програмын тест юм. Энэ нь нэгж тесттэй төстэй боловч өндөр түвшний интеграцтай байдаг. Програм хангамжийн модулиуд нь тэдгээрийн бие даасан функцийг баталгаажуулахын тулд доголдлыг шалгадаг.
- Интеграцийн туршилт - Модулиудыг нэгтгэх үед алдаануудыг тодорхойлно. Янз бүрийн интеграцийн туршилтууд нь доороос дээш, дээд түвшинд, үйл ажиллагааны нэмэгдэл юм.
- Системийн туршилт - Төслийн бүрэлдэхүүн хэсэг нь энэ аргаар янз бүрийн орчинд туршсан. Энэ нь хар хайрцагны аргын доор ордог бөгөөд энэ үйл явцын эцсийн шалгалтын нэг юм. Энэ нь бизнес болон хэрэглэгчийн хэрэгцээг хангахын тулд системийн үйл ажиллагаа явуулж буй эсэхийг тодорхойлдог.
- Альфа тест - Дотоод ажилтан нь хөгжүүлэгчийн сайт дахь программ хангамжийг загварчилсан эсвэл бодит орчинд туршиж үздэг. Үүний дараа хөгжүүлэгчид алдаа болон бусад асуудлыг засч залруулах болно.
- Бета сорилт - Талбайд турших гэж нэрлэдэг бөгөөд үйлчлүүлэгч өөрийн бүтээгдэхүүнийг өөрийн нөхцөлд бодит нөхцөлд туршдаг. Үйлчлүүлэгч нь эцсийн хэрэглэгчдийн програм хангамжийг prerelease эсвэл beta хувилбараар тестлэх боломжтой. Боломжит сайжруулалтын саналыг дараа нь хөгжүүлэгчид илгээнэ.
- Хүлээн авах тест - Хар хайрцагт шалгалтын хүрээнд хэрэглэгчид хүссэн үзүүлэлтүүдийг хүссэн програмыг үүсгэсэн эсэхийг мэдэхийн тулд програм хангамжийг шалгах програм хангамжийг шалгана.
Туршилтын төрөл
Эдгээр програм хангамжийн туршилт нь тодорхой зорилтууд дээр төвлөрдөг.
- Суурилуулах тест - Програм хангамжийн туршилтын инженер ба тохируулгын менежер нь энэ програмыг эцсийн хэрэглэгчийг суулгаж, ажиллуулах боломжийг олгодог. Энэ нь суулгах файлууд, суулгах байршил, удирдлагын давуу эрхтэй газруудыг хамардаг.
- Хөгжлийн сорилт - Энэ нь согогийг илрүүлэх, урьдчилан сэргийлэхийн тулд синхрончлогдсон стратегийн олон янз байдлыг хэрэгжүүлдэг. Энэ нь статик кодын дүн шинжилгээ, персийн кодын үнэлгээ, нэгж дамжуулалт, хэмжлийн шинжилгээ орно. Үүний зорилго нь эрсдлийг бууруулах, зардлыг хэмнэх явдал юм.
- Хэрэгцээ шалгах - Хэрэглэгчийн туршлагыг энэ туршилтаар анхааралдаа авах болно. Энэ нь GUI хэрхэн боловсронгуй болж, түүнийг хэрэглэхэд хялбар болохыг хэмждэг. Тест нь функцүүдийн нарийвчлал, үр ашиг, сорилтын субъектуудын сэтгэл хөдлөлийн хариуг шалгадаг.
- Sanitation test - Энэ нь цааш үргэлжлүүлэн туршилт хийхэд цаг хугацаа, өртөг зардалтай холбоотой програм хангамж юм. Хэт олон алдаа, илүү түрэмгий сорилтыг дагадаггүй.
- Утааны сорил - Утааны сорил нь суллахаас урьдчилан сэргийлэхэд ноцтой ноцтой дутагдал илэрдэг. Энэ нь шинэ бүтээхэд хийгдэж дууссаны дараа үүнийг бүтээх баталгаажуулалтын тест гэж нэрлэдэг.
- Регрессийн сорилт - Систем нь өөрчлөгдсөн үед регрессийн туршилт гэнэтийн зан үйлийг хянаж байдаг. Энэ нь модулиуд болон бүрэлдэхүүн хэсгүүдэд сөрөг нөлөө үзүүлдэг.
- Үл эвдэх сорилт - Тестерүүд хэвийн бус оролтуудыг оруулж, гэнэтийн оролтыг удирдах програм хангамжийн чадавхийг олж мэднэ. Энэ нь програмыг хэрхэн алдаатай менежменттэй байдгийг хөгжүүлэгчдэд харуулдаг.
- Сэргээх тест - Тоног төхөөрөмжийн болон бусад функцууд амжилтгүй болоход энэ програм хангамжийг хэрхэн сэргээж, үргэлжлүүлэн ажиллуулахаа харуулсан.
- Автоматжуулсан тест - Энэ нь гар ажиллагаагаа хэрэгжүүлэхэд хүндрэлтэй байдаг. Тестийг ажиллуулахын тулд тусгай программ ашигладаг бөгөөд бодит үр дүн болон хүлээгдэж буй үр дүнг мэдээллээр хангах.
- Compatibility Testing - Програм хангамж нь янз бүрийн тооцоолон бодох орчинд ажиллах ёстой бөгөөд ингэснээр өөр өөр системүүдтэй нийцэж байх болно. Жишээлбэл, програм хангамж нь төрөл бүрийн үйлдлийн системүүд болон вэб хөтчүүдтэй ажилладаг уу?
- Гүйцэтгэлийн тест - Энэ бол янз бүрийн хувилбарт програм хангамжийн гүйцэтгэлийг шалгасан гүнзгий тест юм. Хариуцлага, тогтвортой байдал, нөөцийн хуваарилалт, хурдны талаарх мэдээлэл цуглардаг. Үүнээс гадна эзлэхүүн, хүчин чадал, баяжуулалтын туршилт зэрэг дэд сорил нь энэ үйл явцад оролцдог.
- Аюулгүй байдлын тест - Энэ нь хэрэглэгчийн аюулгүй байдлыг хангах програм хангамжийн чадамжийг хэмждэг. Энэ нь зөвшөөрлийн функц, нэвтрэлт танилт, нууцлал, бүрэн бүтэн байдал, хүртээмжтэй байдал, татгалзах бус гэсэн үг юм.
- Хялбар байдлын шалгалт - Энэ нь ашиглах боломжийн тесттэй адил биш юм. Энэ нь янз бүрийн чадварууд, суралцах болон бие бялдрын хувьд тахир дутуугийн хэрэглэгчдийн хэрэглэж буй цар хүрээг тодорхойлдог.
- Олон улсын болон нутагшуулах тест - Програм хангамж нь төрөл бүрийн хэлүүд болон бүс нутгийн хэрэгцээнд хэрхэн тохирохыг харуулдаг. Энэ нь тусгай байршлын бүрэлдэхүүн хэсгүүдийг нэмэх, текстийг орчуулах явдал юм.
Програм хангамжийн туршилт нь бүтээгдэхүүнийг зах зээлд гаргахад чухал хэсэг юм. Тестергүй бол олон төрлийн програм хангамж байхгүй болно. БДЭХ, МТ-ийн ШУ-ны Институт, ISTQB® (Олон Улсын Програм Хангамжийн Туршилтын Зөвлөх Зөвлөл), ASQ (Америкийн Америкийн Чанар Нийгэмлэг) зэрэг байгууллагаар дамжуулан баталгаажуулсан програм хангамжийн тестер болдог.