КомпьютерПрограм хангамж

Шинжилгээний хөтөлбөр - Програм хангамжийн бүтээгдэхүүний алдаа илрүүлэх үйл явц

програм хангамж боловсруулах, үйлдвэрлэлийн үйл явцын чухал хэсэг нь програм хангамжийн туршилтын дээр тулгуурласан байдаг. Энэ нь юу вэ, ийм үйл ажиллагаа нь энэ зүйлд хэлэлцэх болно хэрхэн юм.

Ямар тест гэж нэрлэдэг вэ?

Энэ хуулийн буруу үйл ажиллагааны байршлыг илрүүлэх програм хангамжийг ажиллуулж үйл явцыг хэлнэ. Хамгийн сайн үр дүнд нь, санаатайгаар оролтын өгөгдлийн хүнд багц барьсан. шалгалтын гол зорилго нь амжилтгүй хамгийн сайн боломжийг бий болгох явдал юм програм хангамж. заримдаа боловсруулсан хөтөлбөрийг туршиж байгаа боловч ажлын хүчин чадлыг нь тогтмол шалгах хялбаршуулсан, чиг үүргийг гүйцэтгэх болно. Энэ нь цаг хугацаа хэмнэж, гэхдээ ихэвчлэн гэх мэт програм хангамжийн найдвартай бус байдал, хэрэглэгчийн сэтгэл хангалуун бус, мөн дагалдаж байна.

үр ашиг

алдаа, зардал ихээхэн нөлөө болон програм хангамж хөгжүүлэх шаардлагатай чанарын хугацаа хэр сайн, хурдан байдаг. нийт төслийн өртгийн 40% - Тэгэхээр, тестерүүд цалин хөгжүүлэгчид илүү хэд хэдэн удаа жижиг хүлээн авах гэсэн хэдий ч, тэдний үйлчилгээний зардал нь ихэвчлэн 30 хүртэл байна. Энэ ер бусын, маш хэцүү үйл явц юм - алдаа хайх оноос хойш энэ нь ажилтнуудын тоо холбоотой юм. Гэхдээ програм хангамжийн туршилтын нэр хүндтэй хэд хэдэн өнгөрч байгаа ч гэсэн, тэнд алдаа болох байх болно ямар ч 100% -ийн баталгаа юм. Тэд гарч байх үед зүгээр л мэдэхгүй. буруугаа олох магадлал их байдаг туршилт төрлийг сонгох тестер урамшуулан дэмжих, янз бүрийн сэдэл хэрэгсэл хэрэглэнэ: ёс суртахууны болон материал аль аль нь.

ажилд хандлага

програм хангамж алдаа эхнээсээ байж чадахгүй байна гэдгийг баталгаажуулахын тулд төрөл бүрийн механизмыг хэрэгжүүлэх үед оновчтой юм. Үүнийг хийхийн тулд та зөв архитектур дизайн, ажлын тодорхой хувьд анхаарал тавих нь чухал бөгөөд энэ нь төслийн ажил аль хэдийн эхэлсэн үед харилцаа холбоо, тохируулга хийх, байх нь чухал юм. Энэ тохиолдолд, эцсийн үр дүнд хэвээр алдаа цөөн тооны олж тогтоох ажил нь шалгагч. Энэ нь цаг хугацаа, мөнгө аль аль нь аврах болно.

тест гэж юу вэ?

Энэ хуулийн гажиг амжилттай илрүүлэхэд шаардлагатай хяналтын үйл ажиллагааны нэгэн чухал хэсэг юм. Тэд зөв хэрэглээг хянах зорилгоор шаардлагатай байна. Ямар туршилтын орсон байна вэ? Энэ нь өгөгдөл болон тэдний анхны утгууд нь үр дүн (эсвэл завсрын) зэрэг авсан байх ёстой бүрдэнэ. асуудал болон бүрэн бүтэн бус байдлыг амжилттай тодорхойлохын тулд туршилтыг алгоритм боловсруулсан дараа ч програмчлалын эхлүүлж чадахгүй байсан байх ёстой. Энэ нь шаардлагатай мэдээллийг тооцох хэд хэдэн арга ашиглах нь зүйтэй юм. Энэ тохиолдолд та өөр өнцгөөс кодыг шалгаж болно, учир нь алдаа илрүүлэх магадлалыг нэмэгдүүлж байна. Нарийн төвөгтэй тест боловсруулсан програм хангамжийн бүтээгдэхүүний гадаад үр нөлөө, түүнчлэн түүний ажил алгоритм нь шалгалт өгөх ёстой. , ялангуяа ашиг сонирхлын ахиу доройтох хэрэг болдог. Тиймээс, алдааны практикт ихэвчлэн мөчлөг нь төлөвлөж байснаас бага нэг буюу хэд хэдэн цагт үйл ажиллагаа явуулдаг гэдгийг илчлэх болно. Мөн чухал компьютерийн шалгалт, та дамжуулан өөр машинууд дээр нь хүссэн үр дүнг тэр шалгаж болно юм. Энэ нь захиалгын програм хангамжийн бүх компьютер дээр ажиллах болно гэдэгт итгэлтэй болгох шаардлагатай байна. Үүнээс гадна, компьютерийн шалгалт, хөгжлийн хийнэ аль, олон платформ хөгжил бий болгох нь чухал юм.

алдааг олж засварлах Урлагийн

Хөтөлбөрүүд нь ихэвчлэн асар их мэдээллийн багц хамтран ажиллах зорилготой юм. Энэ нь бүрэн бий болгох шаардлагатай байна уу? Үгүй Өргөн хүрээтэй хөтөлбөр "жижигруулэх" практикийг авсан. харьцуулахад гэж ашиглах нь Энэ тохиолдолд өгөгдлийн хэмжээ боломжийн бууруулах байна. -ийн жишээ авч үзье: хөтөлбөр, хэмжээ 50x50 нь матриц бий болгож байгаа юм. Өөрөөр хэлбэл, - Хэрэв та гараар 2500 утгуудыг оруулах ёстой. Энэ нь мэдээж боломжтой, гэхдээ энэ нь маш их хугацаа шаардаж болно. Гэвч ажиллагааг шалгахын тулд, програм хангамж нь хэмжээ 5x5 юм матриц хүлээн авна. Үүнийг хийхийн тулд та 25-аас дээш утгуудыг оруулах хэрэгтэй. Хэрэв энэ тохиолдолд хэвийн, алдаагүй үйл ажиллагаа, энэ нь бүх зүйл тулд юм гэсэн үг юм. нь жижигрүүлсэн байдал тохиолдох өөрчлөлтийн үр дүнд далд болж, түр алга гэж үнэндээ худлаа бэрхшээлүүд байдаг хэдий ч. Энэ нь бас маш ховор байдаг, гэхдээ ч шинэ алдаанууд байдаг юм тохиолддог байна.

зорилго нь хөөв

Шинжилгээний улмаас энэ үйл явц нь бүхлээр нь албан ёсны авахгүй болсон гэдгийг хялбар ажил биш юм. Том хөтөлбөрүүд бараг хэзээ ч шаардлагатай үнэн зөв жишиг байдаг. Тиймээс шууд бус мэдээлэл, Гэсэн хэдий ч, бүрэн дибаг програм хангамж хөгжүүлэх шинж чанар, чиг үүргийг тусгаж чадахгүй байгаа нь хэд хэдэн ашиглан заавар гэх мэт. Түүнээс гадна, тэд зөв үр дүн нь програм хангамжийн бүтээгдэхүүний хэрхэн туршиж болно өмнө нь тооцож байхаар сонгох хэрэгтэй. Та урагшлах байгаа бол, энэ нь бүх талаар авч үзэх сорин бөгөөд машин үр дүн хүлээгдэж буй мужид авдаг бол энэ нь буруу шийдвэр гаргасан байх бүх зүйл зөв юм байна.

өөр өөр нөхцөлд шалгах

Дүрмээр бол, хөтөлбөр нь туршилтын хязгаарлагдмал хэмжээгээр хамгийн бага туршилтын үйл ажиллагаанд шаардлагатай байгаа хэмжээ тохиолддог. үзүүлэлтийн өөрчлөлт, түүнчлэн тэдний ажлын нөхцөл явуулсан үйл ажиллагаа. шинжилгээ хийх үйл явц нь гурван шатанд хуваагддаг болно:

  • хэвийн нөхцөлд шалгана уу. Энэ тохиолдолд бид боловсруулсан програм хангамжийн үндсэн ажиллагааг шалгах. үр дүн хүлээгдэж буй нийцэж байх ёстой.
  • эрс тэс нөхцөлд шалгана уу. Энэ тохиолдолд, хил мэдээлэл, сөрөг бүтээсэн програм хангамжийн ажиллагаанд нь нөлөөлж болох юм шиг ижил утгатай байна. Жишээ нь, бид маш том, жижиг тооны, эсвэл хүлээн авсан мэдээлэл ч бүрэн байхгүй хамтран ажилладаг.
  • онцгой нөхцөл байдалд шалгаж байна. Энэ нь эмчилгээний гадна байгаа мэдээллийг ашиглах явдал юм. Ийм тохиолдолд энэ нь програм хангамжийн тооцоо нь ашигтай гэж тэднийг ойлгож буйгаа болон үнэмшилтэй үр дүнг өгсөн үед маш муу байна. Арчилгаа Ийм тохиолдолд зөв боловсруулж чадахгүй байгаа бол аль ч өгөгдөл нь татгалзсан байна гэдгийг анхаарах хэрэгтэй. Энэ нь энэ тухай хэрэглэгчид мэдээлэх хангах шаардлагатай байна

Шинжилгээ: төрлүүд

ямар ч алдаагүй програм хангамжийг бий болгох нь маш хэцүү байдаг. Энэ нь цаг хугацаа нэлээд шаардана. авахын тулд сайн бүтээгдэхүүн ихэвчлэн туршилт хоёр төрлийн ашиглаж байна: "Альфа" болон "Beta". Тэд ямар байна вэ? Хүмүүс альфа туршилтын тухай ярих үед энэ нь хяналтын хөгжил "лаборатори" нөхцөл байдалд өөрийгөө явуулж болно гэсэн үг юм. хөтөлбөр нь эцсийн хэрэглэгчдэд шилжүүлнэ өмнө энэ туршилтын сүүлийн үе шат нь юм. Тиймээс хөгжүүлэгчид дээд тал нь эргэн тойронд эргэх гэж оролдож байна. үйл ажиллагаа хялбар, мэдээлэл асуудлууд болон тэдний шийдэл нь он дараалал үүсгэж нэвтэрч болно. Ингэснээр тэд хөтөлбөрийг ашиглах, та алдсан байсан алдаа тодорхойлж болно бета туршилтын хүрээнд хэрэглэгчдийн хязгаарлагдмал тооны програм хангамжийн нийлүүлэлтийг ойлгох. Энэ тохиолдолд тусгай онцлог нь ихэвчлэн програм хангамжийн зориулалтаар нь хэрэглэж байгаа бол үнэн юм. Энэ дутагдал нь юу ч биш байсан бол тодорхойлж болно, учир нь өмнө нь харж. шаардлагатай биш юм-ий Энэ нь маш хэвийн, санаа зовох юм.

туршилтын ажил дууссан

Өмнөх алхмууд амжилттай болсон бол энэ нь хүлээн авах туршилт хийх хэвээр байна. энэ тохиолдолд тэр нь ердөө нь албан болдог. Энэ туршилтын явцад ямар ч нэмэлт асуудал олдсон гэж байгаа болон програм хангамжийн зах зээл дээр гаргасан болно баталгааг ирдэг. хамгийн чухал нь эцсийн үр дүн байх болно, илүү нягт энэ нь шалгаж болно. Арчилгаа бүх алхмууд амжилттай болсон эсэхийг анхаарах хэрэгтэй. Энд бүхэлд нь туршилтын үйл явц юм. Одоо техникийн дэлгэрэнгүй онгичих, туршилтын хөтөлбөр шиг, ийм ач холбогдолтой арга хэрэгсэл тухай ярья. ашиглах үед тэд юу вэ уу?

компьютер ашиглан туршилт

Энэ согог илрүүлэх үр дүнтэй ашиглаж дэндүү хүнд арга юм - Өмнө нь энэ нь боловсруулсан програм хангамжийн динамик шинжилгээ гэж бодож байна. Гэвч улмаас хөтөлбөрийн нэмэгдэж төвөгтэй ба хэмжээс хүртэл эсрэг үзэл гарч ирсэн. хамгийн чухал тэргүүлэх чиглэл үр ашиг, аюулгүй байдал хаана автомат тест ашиглаж байна. Мөн тэд ямар ч оролт доор байх ёстой. нь сүлжээний протокол, вэб сервер, sandboxing: Жишээ нь, үүний төлөө ийм туршилт нь зүйтэй хөтөлбөр, дараах орно. Бид хэд хэдэн дээж, ийм үйл ажиллагаанд ашиглаж болно харж байна. Та нар үнэ төлбөргүй шинжилгээ хөтөлбөр сонирхож байгаа бол, чанар нь тэдний дунд олоход хэцүү байдаг. Гэхдээ сайн байгуулагдсан төсөл "хуулбарласан" хувилбарууд байдаг хагарсан байна, тийм болохоор та нар тэдний үйлчилгээ явуулах боломжтой.

нуранги

Энэ хэрэгсэл нь доголдлыг динамик шинжилгээ горимд хөтөлбөрийг туршиж байна илрүүлэх тусалдаг. Энэ нь өгөгдлийг цуглуулж, зам зориулалттай объектын үйл ажиллагааг шинжилдэг. шалгагч алдаанд хүргэж буюу хязгаарлалтын байгаа багц тойрч орц багц өгсөн байна. боломжит нөхцөл нь олон тооны боловсруулсан алгоритм нь сайн туршилт баярлалаа. хөтөлбөр нь оролтын өгөгдөл, нөхцөл байдал нь олон тооны дүр бөгөөд хамгийн их магадлалтай нь дутагдал илэрч байна нөхцөлийг бий болгох боломж нь өөр өөр багц хүлээн авна. хөтөлбөрийн нэг чухал давуу тал нь Сэтгэн олох СИ хэрэглээ юм. асуудал байгаа бол, дараа нь програмын алдаа өндөр магадлалтай юм. Гэхдээ энэ хөтөлбөр нь зөвхөн нэг л шалгах гэж тэмдэглэгдсэн оролтын залгуур, эсвэл файл болгон хязгаарлагдмал байна. Ийм шинжилгээний хөтөлбөр зэрэг үйл ажиллагаа явуулах үед улмаас номын сан ашиглах нь тэг заагч асуудал, хязгааргүй гогцоонууд, буруу хаяг эсвэл алдаатай талаар дэлгэрэнгүй мэдээллийг агуулах болно. Мэдээж энэ нь илэрсэн алдаа, тэдгээрийн зөвхөн нийтлэг жишээ нь бүрэн жагсаалт биш юм. Засах дутагдал, харамсалтай нь, хөгжүүлэгч байна - автоматжуулсан арга нь эдгээр зорилгоор тохиромжтой биш юм.

KLEE

Энэ нь санах ойг шалгах сайн програм юм. Энэ нь ойролцоогоор 50 нь системийн дуудлагуудыг, улмаар зэрэгцээ, эсвэл тусад нь цаазаар виртуал үйл явц нь олон тооны замаас болно. Гэхдээ ер нь, хөтөлбөрийн зарим сэжигтэй газар хайж байгаа биш, код хамгийн их боломжит хэмжээг боловсруулах, мэдээлэл замуудыг ашиглаж дүн шинжилгээ хийв. Ийм учраас туршилтын хөтөлбөр объект хэмжээнээс хамаарна. бооцоо шалгах үед симбол үйл явц дээр байрлуулсан байна. Тэд туршиж байгаа хөтөлбөрт ажлуудыг хийж гүйцэтгэхэд боломжтой арга замуудын нэг юм. зэрэгцээ үйл ажиллагааны ачаар туршилтын програмын ажлын хувилбарууд нь олон тооны шинжилгээ хийх боломжтой юм. оролтын өгөгдлийн багц зам тус бүрийн хувьд түүний туршилт, шалгаж эхэлсэн дараа нь хадгалагдаж байна. Энэ нь KLEE ашиглан туршилтын хөтөлбөр хэлбэлзэл, байх ёстой нь олон тооны тодорхойлоход тустай гэдгийг тэмдэглэх нь зүйтэй. Энэ нь бүр хэдэн арван жилийн турш боловсруулж байгаа програмууд асуудлыг олж болно.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 mn.delachieve.com. Theme powered by WordPress.