Thursday, May 31, 2012

Testing Methods



සාමාන්‍යයෙන් ගත්තාම Testing ප්‍රධාන වශයෙන් දෙයාකාරයක් තියනවා. එකක් තමයි Inputs දාලා Output එක පරික්ෂා කරන එක. එකට කියන්නේ Black box testing කියලා. අනික තමා White box testing / Glass box testing. මෙතනදි Code statement, Structure  එකින් එක පරික්ෂා කිරිමක් සිදුවෙනවා. ඉතින් ඔන්න ඔයවිදියට testing ක්‍රම රාශියක් තියනවා සාමාන්‍යයෙන් use කරන. එවයින් තොරාගත් කිහිපයක් සරළව හා කෙටියෙන් පහළින් විස්තර කරලා තියනවා.


මුලින්ම තියෙන්නේ Unit Testing. එකියන්නේ පොඩිම පොඩි කොටස්(Modules) තනි තනිවම  Test කිරිම. සාමාන්‍යයෙන් මෙක කරන්නේ එ කොටස හදපු Developer ම තමයි.
ඉළගට තියෙන්නේ Incremental integration testing. Application එකට එක එක කොටස් එකතු වෙද්දි එවයින් දැනට කරලා තියන Application එකට අවුලක් වෙලාද කියලා බලන එක තමයි මෙතනදි වෙන්නේ. එකදිගටම කරගෙන යන Testing එකක්.

එක එක Function test කරන testing method එක හඳුන්වන්නේ Functional testing කියලා. මෙතනදි use කරන්නේ Black box testing ක්‍රමය. අදාළ Requirements ටික Application එකෙ තියද කියලා තමයි check කරන්නේ. අදාල Requirements සේරම ටික OK ද කියලා System එකම පරික්ශා කරන එකට කියන්නේ System testing කියලා. ඇත්තටම Theoretical වශයෙන් මෙහෙම තිබුනට මෙවා ඔය තියන විදියටම එකින් එක කෙරෙන්නේ නම් නැ. මොකද එහෙම කරන්න තරම් කාලයක් ඇත්තටම project එකකට වෙන් වෙන්නේ නැ. 

අදාළ Environment එකේ අදාළ Devices use කරගෙන test කරන එකට තමා End-to-end testing කියන්නේ. ඇත්තටම ගත්තොත් System testing නුයි End to end testing දෙකම එකක් වගේ තමයි theoretically දෙවිදියකට තිබුනට.දෙකෙන්ම කරන්නේ System එක test කරන එක. Application එක test කරන්න සුදුසු මට්ටමේ තියද කියලා check කරන එක තමයි Sanity testing කරන්නේ. උදාහරනයකට අපි හිතමු System එකට Log වෙන්නවත් දෙන්නේ නැ Errors එනවා කියලා. අන්න ඒ වගේ එවා සොයලා බලන එක තමයි මෙතනදි වෙන්නේ.

Regression testing එකේදි වෙන්නේත් System එකම check කරන එක.බොහොවෙලවට System එක Release කරන්න තියන හරියේ තමයි මෙක කරන්නේ.බොහො වෙලාවට System එකේ develop කරන එවා මෙ testing එක පටන්ගනිද්දි නවත්තනවා.තනිකරම system එක check කරනවා. බොහො වෙලවට මෙතැනදි Automation Tools use කරනවා.ඒ ඒ Function එකට වැඩ කරන්න ඔන කරන දත්ත හා කරන ක්‍රමය ඇතුලත් කලාම එවා Automatically test කරලා result එක පෙන්වන එක තමයි Automation Tools වලින් කරන්නේ.

Acceptance testing කියලා කියන්නේ Requirement හරියට තියද කියලා Client පැත්තේ QA අය ටෙස්ට් කරන එක. මෙතැනදි බලාපොරොත්තුවෙන දෙවල් නොතිබුනොත් Project එකට සොරි වෙන්නත් පුලුවන්. {සාමාන්‍යයෙන් Agreement එකේ සටහන් කරනවා අඩුතරමේ 75% ක් වත් (අගය Project එක මත depend වේ) හරියන්නෙ නැත්නම් භාර ගන්නේ නැ කියලා}

ඔය තියෙන්නේ සාමාන්‍යයෙන් use කරන testing methods. ඉට අමතරව යොදාගන්නා special testing methods වර්ග කිහිපයකුත් ඔන්න පොඩ්ඩක් විතර සටහන් කරනවා අමතර තොරතුරක් ලෙස දැනගන්න. දැන් ලියන්න යන්නේ System එකක Performance එක මනින්න use කරගන්න පුළුවන් testing methods ගැන. මුලින්ම Load testing. මෙතනදි කරන්නේ ලොකු Load එකක් එකපාරටම System එකට දරාගන්න පුළුවන්ද කියලා check කරන එක. උදාහරණයක් විදියට එක පාරටම system එකට users  1000 ක් ලොග් වෙලා වැඩ කරන එක දරාගන්න පුලුවන්ද? එතකොට system එකේ performance කොහොමද කියලා චෙක් කරන එක තමයි සරළව ගත්තොත් මෙතනින් වෙන්නේ. Stress testing වලදි මෙහෙම ගොඩාක් system එකට load කරගෙන ඉට අමතරව සංකිර්ණ database query run කරලා system  එකේ stress එක වැඩිකරලා performance check කරනවා. ප්‍රයොගිකව කරද්දි  මෙවට tools use කරනවා. නැත්නම් ඉතින් 1000 users ලා කියන්නේ කජු ඇටද කොස් ඇටද නේ.

Usability testing කියන්නේ application එක භාවිතයට පහසුද(usable) කියලා check කරන එක. GUI interface ලස්සනට සරළව පහසුවෙන් තේරෙන විදියට තියෙද? එකේ පාට හොදයිද? forms එහෙම දිග වැඩිද ඔන්න ඔය වගේ usability එක check කරන එක තමයි කරන්නේ. අදට නවතිනවා. බුදුසරණයි.


No comments:

Post a Comment