Психилоги
Бид сорилын талаар ямар ойлголттой явдаг вэ? Ер нь хэрэгтэй юм уу? Програм хангамжийн сорил гэж ер нь юу юм бэ? Таны бодлоор доорхиос аль нь вэ?
- Програмд ямар нэг алдаа байхгүйг харуулах ажиллагаа.
- Сорилын зорилго нь програм хийх ёстой үйлдлээ хийж байгааг батлах явдал.
- Тайвшрал, сэтгэл амарлихуйг тогтооход чиглэсэн үйл ажиллагаа.
Харин J.Myer "The Art of Software Testing" номондоо "Сорих гэдэг нь аливаа алдаа сэвийг илрүүлэн гаргах, чанарыг тодорхойлох зорилгоор уг програмыг ажиллуулах үйлдэл юм." хэмээн бичжээ. Нөхөр энэ хандлагыг ихэд онцолсон байх бөгөөд ингэхээс ч аргагүй шиг байна. Учир нь хүний үйлдэл, түүний хүсэл зорилготой шууд холбоотой байх тул хэрэв хөгжүүлэгч програмын алдаагүйг батлах гэж байгаа бол аль болох л нормаль кэйсүүдийг сонгон авч сорилдоо ашиглах байх. Гэтэл мөрдөх ёстой хандлага нь үнэн хэрэгтээ эсрэг чигт байх аж...
- - - - - -
Сорилоор алдаа илрээгүй тохиолдолд бид "Сорил амжилттай боллоо!" хэмээн бахаддаг, харин олон илэрхэд"Амжилтгүй боллоо" гэж чимээгүйхэн шивнэдэг. Хандлагын зөрүү бас л гарч байна. Сорилоор алдааг илрүүлэхийг зорьдог тул, эхний тохиолдолд "Сорил амжилтгүй(эсхүл сэжигтэй)", удаахьд нь "Сорил амжилттай боллоо!" гэж үзэх хэрэгтэй юм байна.Алдааг аль болох эрт илрүүлэх нь тустай. Учир нь хожуу илэрсэн алдааг засахад маш олон газар гар хүрэх, дахин ажил болох шаардлагатай болдог. Доорхи зургаас алдааны өртгийг хэзээ илэрч байгаагаар нь харьцуулан дүрсэлснийг сонирхоно уу.
Барын зулзагыг бага дээр нь гэж ярьдаг да, бид. Ингэхлээр тестерийн үүрэг бол програмыг бийлд хийсний дараагаар алдааг хайх бус, төслийн шаардлага тодорхойлолтын үеэс л эхэлж, аль болох бага дээр нь олж ангуучлах явдал байх нь. Тэгэхээр соригчийг дизайны төвшинд шийдвэр гаргалцдаг лут товарищ гэж ойлгож болох нь.
Сорилд баримтлах 11 мөрдлөгөө
J.Myer-ийн анхлан гаргасан(1979 он) мөрдлөгөө одоо ч хэрэглэгдсээр. Зарим нь ойлгомжтой л байх, зарим нь ч сонин л юм:
Cорилд баримтлах 11 мөрдлөгөө
|
6-р мөрдлөгөө нь их сонирхолтой. Ухаан нь, эхний сорилоор А модулиас 20, Б модулиас 3 алдаа илрүүлжээ гэж саная. Алдааг засаад дахиад сориход аанай л А модулийн алдааны тоо жин дарах магадлал өндөр аж. Зургаар дүрсэлбэл:
Эх сурвалж: Glenford J. Myers - The Art of Software Testing, John Wiley & Sons, Inc.
Сорилын болцын загвар
TMM буюу Сорилын болцын загвар(Testing maturity model) нь өндөр чанартай бүтээгдэхүүнийг тогтоогдсон төсөв зардлаар, товлосон хугацаанд чадварлаг соригчдын бүрэлдэхүүнээр, оновчтой төлөвлөгөөний дагуу сорих зорилго бүхий фрэймворк юм. TMM нь CMM буюу Capability Maturity Model-д тулгуурлан боловсруулагдсан ба эдгээр моделиуд нь хэдүйн дэлхийн даяар нэвтэрч, өдгөө олон пүүс компаниуд даган мөрдөж байна. TMM нь CMM-ийн адилаар таван шаттай:
Төвшин 1 – Эхлэл
Програм хангамжийн тодорхойлолтын ямар нэгэн бичиг баримт байхгүй. Сорилын үйл ажиллагаа нь зүгшрүүлэлтээс(debugging) ялгагдах зүйлгүй бөгөөд, програмыг зөв ажиллаж байгааг батлахын тулд хийгддэг. Програмын рилийз нь ямар нэгэн чанарын баталгааг хангаж чаддаггүй. Нөөц, багаж хэрэгсэл, мэргэшсэн боловсон хүчний дутагдалтай. Ийм компани нь CMM-ийн 1-р төвшинд хамаарна.
Төвшин 2 – Фаз тодорхойлолт
Сорил нь зүгшрүүлэлтээс тусгаарлагдах боловч, кодчилолын дараа хэрэгжих процесс байдлаар тодорхойлогдоно. Кодоос шууд хамааралтай учир зөвхөн дууссаны дараа нь гүйцэтгэгддэг. Сорил хийх зорилго нь бүтээгдэхүүн нь тодорхойлолтын бичиг баримттай тулж байгааг батлах явдал. Хар болон шилэн хайрцаг гэх мэт сорилын үндсэн хэлбэрүүд хэрэгжинэ. Сорилын шатууд нь нэгжийн, нэгдсэн, систем, суурилуулалт зэргээр хуваагдана. Сорил нь хөгжүүлэлтийн хожуу шатанд төлөвлөгддөг учир чанар тойрсон асуудал их гардаг. Шүүмж, болон хэлэлцүүлэг хийгддэггүй. Гараар ажиллуулах, турших нь сорилын үндсэн хэлбэр болно.
Төвшин 3 – Нэгдэл(Integration)
Сорилыг кодчилолын дараа бус шаардлага-тодорхойлолтын фазаас эхлэн төлөвлөнө. Бүтээгдэхүүний шаардлагад үндэслэн сорилын зорилтууд тодорхойлогдоно. Сорилын багийг томилохын зэрэгцээ, сорил нь хөгжүүлэлтийн процессын нэгэн чухал хэсэг байдлаар хүлээн зөвшөөрөгдөнө. Сорил нь төлөвлөсөн хугацаа, төсвийн дагуу хэрэгжиж буй эсэх нь байгууллагын хэмжээнд харагдах боломжтой байдаг. Сорилын ерөнхий багаж хэрэгслүүд ашиглагдана. Шүүмж хэлэлцүүлгүүд явагдах боловч, энэ нь албан ёсны процесс болтлоо тодорхойлогдон мөрдөгддөггүй.
Төвшин 4 – Удирдлага болон Хэмжилт
Сорил нь хэмжигдэх боломжтой процесс болно. Хөгжүүлэлтийн бүх шатанд шүүмж хэлэлцүүлгүүд сорилын нэг хэлбэр байдлаар тусгагдан хэрэгжинэ. Програм нь найдвартай байдал, хэрэглэгдэх чадамж, өөрчлөгдөх боломж зэргээр төрөл бүрийн чанарын үзүүлэлтээр соригдоно. Бүх төслийн хэмжээнд сорилын нөхцлүүдийг дахин ашиглах, давтах зорилгоор тусгай санд хадгална.
Төвшин 5 – Хөгжил/Алдаанаас сэргийлэх/Чанарын удирдлага
Сорилын процесс нь нэгэнт удирдагдах, хянагдах, хэмжигдэх боломжтой болсон байна. Сорилын болцын өөрчлөлт, хөгжил дэвшил тасралтгүй явагдана. Алдаанаас сэргийлэх, чанарыг удирдах процесс нэгэнт биеллээ олсон байна. Автоматаар сорилыг гүйцэтгэх, давтах боломжтой. Мөн сорилын нөхцлийг зохиох, өөрчлөх, алдааны мэдээлэл цуглуулах зэрэг ажлуудыг багажийн тусламжтайгаар хялбархан хийж гүйцэтгэнэ. Сорилын хэмжилт болон чанартай холбоотой мэдээллийг мөн автоматаар гарган авах боломжтой.
Нэмэлт:
Сорилын талаархи нэн сонирхолтой нийтлэлүүд:
TMM буюу Сорилын болцын загвар(Testing maturity model) нь өндөр чанартай бүтээгдэхүүнийг тогтоогдсон төсөв зардлаар, товлосон хугацаанд чадварлаг соригчдын бүрэлдэхүүнээр, оновчтой төлөвлөгөөний дагуу сорих зорилго бүхий фрэймворк юм. TMM нь CMM буюу Capability Maturity Model-д тулгуурлан боловсруулагдсан ба эдгээр моделиуд нь хэдүйн дэлхийн даяар нэвтэрч, өдгөө олон пүүс компаниуд даган мөрдөж байна. TMM нь CMM-ийн адилаар таван шаттай:
Төвшин 1 – Эхлэл
Програм хангамжийн тодорхойлолтын ямар нэгэн бичиг баримт байхгүй. Сорилын үйл ажиллагаа нь зүгшрүүлэлтээс(debugging) ялгагдах зүйлгүй бөгөөд, програмыг зөв ажиллаж байгааг батлахын тулд хийгддэг. Програмын рилийз нь ямар нэгэн чанарын баталгааг хангаж чаддаггүй. Нөөц, багаж хэрэгсэл, мэргэшсэн боловсон хүчний дутагдалтай. Ийм компани нь CMM-ийн 1-р төвшинд хамаарна.
Төвшин 2 – Фаз тодорхойлолт
Сорил нь зүгшрүүлэлтээс тусгаарлагдах боловч, кодчилолын дараа хэрэгжих процесс байдлаар тодорхойлогдоно. Кодоос шууд хамааралтай учир зөвхөн дууссаны дараа нь гүйцэтгэгддэг. Сорил хийх зорилго нь бүтээгдэхүүн нь тодорхойлолтын бичиг баримттай тулж байгааг батлах явдал. Хар болон шилэн хайрцаг гэх мэт сорилын үндсэн хэлбэрүүд хэрэгжинэ. Сорилын шатууд нь нэгжийн, нэгдсэн, систем, суурилуулалт зэргээр хуваагдана. Сорил нь хөгжүүлэлтийн хожуу шатанд төлөвлөгддөг учир чанар тойрсон асуудал их гардаг. Шүүмж, болон хэлэлцүүлэг хийгддэггүй. Гараар ажиллуулах, турших нь сорилын үндсэн хэлбэр болно.
Төвшин 3 – Нэгдэл(Integration)
Сорилыг кодчилолын дараа бус шаардлага-тодорхойлолтын фазаас эхлэн төлөвлөнө. Бүтээгдэхүүний шаардлагад үндэслэн сорилын зорилтууд тодорхойлогдоно. Сорилын багийг томилохын зэрэгцээ, сорил нь хөгжүүлэлтийн процессын нэгэн чухал хэсэг байдлаар хүлээн зөвшөөрөгдөнө. Сорил нь төлөвлөсөн хугацаа, төсвийн дагуу хэрэгжиж буй эсэх нь байгууллагын хэмжээнд харагдах боломжтой байдаг. Сорилын ерөнхий багаж хэрэгслүүд ашиглагдана. Шүүмж хэлэлцүүлгүүд явагдах боловч, энэ нь албан ёсны процесс болтлоо тодорхойлогдон мөрдөгддөггүй.
Төвшин 4 – Удирдлага болон Хэмжилт
Сорил нь хэмжигдэх боломжтой процесс болно. Хөгжүүлэлтийн бүх шатанд шүүмж хэлэлцүүлгүүд сорилын нэг хэлбэр байдлаар тусгагдан хэрэгжинэ. Програм нь найдвартай байдал, хэрэглэгдэх чадамж, өөрчлөгдөх боломж зэргээр төрөл бүрийн чанарын үзүүлэлтээр соригдоно. Бүх төслийн хэмжээнд сорилын нөхцлүүдийг дахин ашиглах, давтах зорилгоор тусгай санд хадгална.
Төвшин 5 – Хөгжил/Алдаанаас сэргийлэх/Чанарын удирдлага
Сорилын процесс нь нэгэнт удирдагдах, хянагдах, хэмжигдэх боломжтой болсон байна. Сорилын болцын өөрчлөлт, хөгжил дэвшил тасралтгүй явагдана. Алдаанаас сэргийлэх, чанарыг удирдах процесс нэгэнт биеллээ олсон байна. Автоматаар сорилыг гүйцэтгэх, давтах боломжтой. Мөн сорилын нөхцлийг зохиох, өөрчлөх, алдааны мэдээлэл цуглуулах зэрэг ажлуудыг багажийн тусламжтайгаар хялбархан хийж гүйцэтгэнэ. Сорилын хэмжилт болон чанартай холбоотой мэдээллийг мөн автоматаар гарган авах боломжтой.
Нэмэлт:
Сорилын талаархи нэн сонирхолтой нийтлэлүүд:
6 comments:
Great post, Battur, great post!
have a nice day
Sonirxoltoi bichleg bna xogshoon. Gexdee bas ix mergejliin ug xelleg denduu olon ymaa. Mani oilgox gej neleen ym bolj bna kk.
Zarim mergejliin ug xellegiin xoino ni xaaltan dotor ch ymuu angliar ni bichvel ix zugeer ym. Jishee ni "Negtgel" gej bna. Uunii ard ni angliar (Integration) gedeg ch ymuu.
TO: Badka
Модон үгтэй өгүүлбэрүүд зөндөө байх шиг байна о, хааяадаа нэг засаад байхад гөлчийж л таараа. Integration гэснээс Гоби-ийн "уямж" гэж хэлээд байгаа нэр томъёог нь харин жинхэнэ "integration" гэж орчуулмаар юм биш үү, аан?
Үг буулгах тал дээр Эрка ах ер нь их адтай гэж боддийм. Жишээ нь:
program - хөтөлбөр
default - заяамал
hardware - тоноглол гэх мэтээр.
Оросоос ещё гэдэг үгийг өшөө болгосон юм чинь Hardware-ийг харин Хардвээр гэвэл яасан юм бэ хэхэ
http://addidea.blogspot.com/ ih goe blog bna!
class-ийг Эрка ах л Анги гээд аваад хаясан байх нь гэж бодлоо
Post a Comment