ការធ្វើតេស្តកម្មវិធី ឬការធ្វើតេស្តកម្មវិធី ត្រូវបានគេស្គាល់ថាជាការធ្វើតេស្តកម្មវិធី។
ការធ្វើតេស្តកម្មវិធីជាចម្បងគឺជាដំណើរការដ៏ធំមួយដែលបង្កើតឡើងដោយដំណើរការដែលទាក់ទងគ្នាទៅវិញទៅមក។ គោលបំណងសំខាន់នៃការធ្វើតេស្តកម្មវិធីគឺដើម្បីវាស់ស្ទង់ភាពសុចរិតនៃកម្មវិធី រួមជាមួយនឹងភាពពេញលេញរបស់វានៅក្នុងលក្ខខណ្ឌនៃតម្រូវការជាមូលដ្ឋានរបស់វា។ ការធ្វើតេស្តកម្មវិធីពាក់ព័ន្ធនឹងការពិនិត្យមើល និងសាកល្បងកម្មវិធីតាមរយៈដំណើរការសាកល្បងផ្សេងៗ។ គោលបំណងនៃដំណើរការទាំងនេះអាចរួមមានៈ
ការផ្ទៀងផ្ទាត់ភាពពេញលេញនៃកម្មវិធីប្រឆាំងនឹងតម្រូវការមុខងារ/អាជីវកម្ម
កំណត់អត្តសញ្ញាណកំហុស/កំហុសបច្ចេកទេស និងធានាថាកម្មវិធីមិនមានកំហុស
ការវាយតម្លៃនៃការប្រើប្រាស់ ការអនុវត្ត សុវត្ថិភាព ការធ្វើមូលដ្ឋានីយកម្ម ភាពឆបគ្នា និងការដំឡើង
កម្មវិធីដែលបានសាកល្បងត្រូវតែឆ្លងកាត់ការធ្វើតេស្តទាំងអស់ដើម្បីឱ្យមានភាពពេញលេញ ឬសមសម្រាប់ការប្រើប្រាស់។ ប្រភេទផ្សេងគ្នានៃវិធីសាស្រ្តធ្វើតេស្តកម្មវិធីរួមមានការធ្វើតេស្តប្រអប់ស ការធ្វើតេស្តប្រអប់ខ្មៅ និងការធ្វើតេស្តប្រអប់ប្រផេះ។ លើសពីនេះទៅទៀត កម្មវិធីអាចត្រូវបានសាកល្បងទាំងមូលក្នុងសមាសភាគ/ឯកតា ឬក្នុងប្រព័ន្ធផ្ទាល់។
ការធ្វើតេស្តប្រអប់ខ្មៅគឺជាបច្ចេកទេសសាកល្បងកម្មវិធីដែលផ្តោតលើការវិភាគមុខងាររបស់កម្មវិធីដោយគោរពទៅនឹងការងារខាងក្នុងនៃប្រព័ន្ធ។ ការធ្វើតេស្តប្រអប់ខ្មៅត្រូវបានបង្កើតឡើងជាវិធីសាស្រ្តសម្រាប់ការវិភាគតម្រូវការអតិថិជន លក្ខណៈបច្ចេកទេស និងយុទ្ធសាស្ត្ររចនាកម្រិតខ្ពស់។
អ្នកសាកល្បងសាកល្បងប្រអប់ខ្មៅជ្រើសរើសសំណុំនៃការអនុវត្តកូដត្រឹមត្រូវ និងមិនត្រឹមត្រូវ និងលក្ខខណ្ឌបញ្ចូល ហើយពិនិត្យមើលការឆ្លើយតបលទ្ធផលត្រឹមត្រូវ។
ការធ្វើតេស្តប្រអប់ខ្មៅត្រូវបានគេស្គាល់ផងដែរថាជាការធ្វើតេស្តមុខងារឬការធ្វើតេស្តប្រអប់បិទ។
ម៉ាស៊ីនស្វែងរកគឺជាឧទាហរណ៍ដ៏សាមញ្ញមួយនៃកម្មវិធីដែលត្រូវធ្វើតេស្តប្រអប់ខ្មៅ។ អ្នកប្រើប្រាស់ម៉ាស៊ីនស្វែងរកបញ្ចូលអត្ថបទទៅក្នុងរបារស្វែងរកនៃកម្មវិធីរុករកតាមអ៊ីនធឺណិត។ បន្ទាប់មកម៉ាស៊ីនស្វែងរកកំណត់ទីតាំង និងទាញយកលទ្ធផលទិន្នន័យអ្នកប្រើប្រាស់ (លទ្ធផល)។
អត្ថប្រយោជន៍នៃការធ្វើតេស្តប្រអប់ខ្មៅរួមមាន:
ការធ្វើតេស្តប្រអប់ខ្មៅក៏មានគុណវិបត្តិមួយចំនួនដូចខាងក្រោមៈ
កំឡុងពេលសាកល្បងប្រអប់ស កូដត្រូវបានដំណើរការជាមួយនឹងតម្លៃបញ្ចូលដែលបានជ្រើសរើសជាមុន ដើម្បីធ្វើសុពលភាពតម្លៃលទ្ធផលដែលបានជ្រើសរើសជាមុន។ ការធ្វើតេស្តប្រអប់សជាញឹកញាប់ជាប់ពាក់ព័ន្ធនឹងការសរសេរកូដ stub (បំណែកនៃកូដដែលប្រើដើម្បីជំនួសលក្ខណៈពិសេសមួយ។ stub អាចក្លែងធ្វើឥរិយាបថនៃកូដដែលមានស្រាប់ដូចជានីតិវិធីនៅលើម៉ាស៊ីនពីចម្ងាយ។) និងក៏កម្មវិធីបញ្ជាផងដែរ។
អត្ថប្រយោជន៍នៃការធ្វើតេស្តប្រអប់ពណ៌សរួមមាន
គុណវិបត្តិរួមមាន:
ការធ្វើតេស្តឯកតាគឺជាធាតុផ្សំនៃវដ្តជីវិតនៃការអភិវឌ្ឍន៍កម្មវិធី (SDLC) ដែលនីតិវិធីធ្វើតេស្តដ៏ទូលំទូលាយត្រូវបានអនុវត្តជាលក្ខណៈបុគ្គលចំពោះផ្នែកតូចបំផុតនៃកម្មវិធីសម្រាប់ភាពសមស្រប ឬអាកប្បកិរិយាដែលចង់បាន។
ការធ្វើតេស្តឯកតាគឺជាការវាស់វែងគុណភាព និងនីតិវិធីវាយតម្លៃដែលបានអនុវត្តនៅក្នុងសកម្មភាពអភិវឌ្ឍន៍កម្មវិធីសហគ្រាសភាគច្រើន។ ជាទូទៅ ការធ្វើតេស្តឯកតាវាយតម្លៃថាតើកូដកម្មវិធីសមស្របនឹងគោលដៅរួមនៃកម្មវិធី/កម្មវិធី/កម្មវិធី និងរបៀបដែលភាពសមស្របរបស់វាប៉ះពាល់ដល់អង្គភាពតូចៗផ្សេងទៀត។ ការធ្វើតេស្តឯកតាអាចត្រូវបានធ្វើដោយដៃ - ដោយអ្នកអភិវឌ្ឍន៍ម្នាក់ ឬច្រើននាក់ - ឬតាមរយៈដំណោះស្រាយកម្មវិធីស្វ័យប្រវត្តិ។
កំឡុងពេលសាកល្បង ឯកតានីមួយៗដាច់ឆ្ងាយពីកម្មវិធីមេ ឬចំណុចប្រទាក់។ ការធ្វើតេស្តឯកតាត្រូវបានអនុវត្តជាធម្មតាបន្ទាប់ពីការអភិវឌ្ឍន៍ និងមុនពេលដាក់ឱ្យប្រើប្រាស់ ដូច្នេះសម្របសម្រួលការរួមបញ្ចូល និងការរកឃើញបញ្ហាដំបូង។ ទំហំ ឬវិសាលភាពនៃឯកតាប្រែប្រួលអាស្រ័យលើភាសាសរសេរកម្មវិធី កម្មវិធីកម្មវិធី និងគោលបំណងសាកល្បង។
ការធ្វើតេស្តមុខងារ គឺជាដំណើរការសាកល្បងដែលប្រើក្នុងការអភិវឌ្ឍន៍កម្មវិធី ដែលកម្មវិធីត្រូវបានសាកល្បង ដើម្បីធានាថាវាអនុលោមតាមតម្រូវការទាំងអស់។ វាគឺជាវិធីនៃការត្រួតពិនិត្យកម្មវិធីដើម្បីធានាថាវាមានមុខងារចាំបាច់ទាំងអស់ដែលបានបញ្ជាក់នៅក្នុងតម្រូវការមុខងាររបស់វា។
ការធ្វើតេស្តមុខងារត្រូវបានប្រើជាចម្បងដើម្បីផ្ទៀងផ្ទាត់ថាផ្នែកនៃកម្មវិធីផ្តល់នូវលទ្ធផលដូចគ្នាទៅនឹងតម្រូវការដោយអ្នកប្រើប្រាស់ចុងក្រោយ ឬអាជីវកម្ម។ ជាធម្មតា ការធ្វើតេស្តមុខងារពាក់ព័ន្ធនឹងការវាយតម្លៃ និងការប្រៀបធៀបមុខងារកម្មវិធីនីមួយៗប្រឆាំងនឹងតម្រូវការអាជីវកម្ម។ កម្មវិធីត្រូវបានសាកល្បងដោយផ្តល់ឱ្យវានូវធាតុចូលដែលពាក់ព័ន្ធមួយចំនួន ដើម្បីឱ្យលទ្ធផលអាចត្រូវបានវាយតម្លៃដើម្បីមើលពីរបៀបដែលវាអនុលោមតាម ទាក់ទង ឬប្រែប្រួលពីតម្រូវការមូលដ្ឋានរបស់វា។ លើសពីនេះ ការធ្វើតេស្តមុខងារក៏ពិនិត្យមើលលទ្ធភាពប្រើប្រាស់របស់កម្មវិធីផងដែរ ឧទាហរណ៍ ធ្វើឱ្យប្រាកដថាមុខងាររុករកដំណើរការតាមតម្រូវការ។
ការធ្វើតេស្តតំរែតំរង់គឺជាប្រភេទនៃការធ្វើតេស្តកម្មវិធីដែលប្រើដើម្បីកំណត់ថាតើបញ្ហាថ្មីគឺជាលទ្ធផលនៃការផ្លាស់ប្តូរកម្មវិធី។
មុនពេលអនុវត្តការផ្លាស់ប្តូរ កម្មវិធីមួយត្រូវបានសាកល្បង។ បន្ទាប់ពីការផ្លាស់ប្តូរត្រូវបានអនុវត្ត កម្មវិធីត្រូវបានសាកល្បងឡើងវិញនៅក្នុងតំបន់ដែលបានជ្រើសរើស ដើម្បីរកមើលថាតើការផ្លាស់ប្តូរបានបង្កើតកំហុស ឬបញ្ហាថ្មី ឬថាតើការផ្លាស់ប្តូរពិតប្រាកដបានបំពេញគោលបំណងដែលបានគ្រោងទុក។
ការធ្វើតេស្តតំរែតំរង់គឺចាំបាច់សម្រាប់កម្មវិធីកម្មវិធីធំៗ ព្រោះជារឿយៗវាពិបាកក្នុងការដឹងថាតើការផ្លាស់ប្តូរផ្នែកមួយនៃបញ្ហាបានបង្កើតបញ្ហាថ្មីសម្រាប់ផ្នែកផ្សេងនៃកម្មវិធីឬអត់។ ឧទាហរណ៍ ការផ្លាស់ប្តូរទម្រង់បែបបទកម្ចីពាក្យសុំរបស់ធនាគារអាចបណ្តាលឱ្យបរាជ័យនៃរបាយការណ៍ប្រតិបត្តិការប្រចាំខែ។ ក្នុងករណីភាគច្រើន បញ្ហាអាចហាក់ដូចជាមិនទាក់ទងគ្នា ប៉ុន្តែការពិតវាអាចជាមូលហេតុនៃការខកចិត្តក្នុងចំណោមអ្នកបង្កើតកម្មវិធី។
ស្ថានភាពផ្សេងទៀតដែលតម្រូវឱ្យមានការធ្វើតេស្តតំរែតំរង់រួមមានការរកមើលថាតើការផ្លាស់ប្តូរជាក់លាក់សម្រេចបាននូវគោលដៅដែលបានកំណត់ ឬការធ្វើតេស្តសម្រាប់គ្រោះថ្នាក់ថ្មីដែលទាក់ទងនឹងបញ្ហាដែលកើតឡើងម្តងទៀតបន្ទាប់ពីរយៈពេលដោយគ្មានបញ្ហា។
ការធ្វើតេស្តតំរែតំរង់សម័យទំនើបត្រូវបានដោះស្រាយជាចម្បងតាមរយៈឧបករណ៍សាកល្បងពាណិជ្ជកម្មឯកទេសដែលយករូបថតនៃកម្មវិធីដែលមានស្រាប់ដែលបន្ទាប់មកត្រូវបានប្រៀបធៀបបន្ទាប់ពីអនុវត្តការផ្លាស់ប្តូរជាក់លាក់មួយ។ វាស្ទើរតែមិនអាចទៅរួចទេសម្រាប់អ្នកសាកល្បងមនុស្សដើម្បីអនុវត្តភារកិច្ចដូចគ្នាប្រកបដោយប្រសិទ្ធភាពដូចអ្នកសាកល្បងកម្មវិធីស្វ័យប្រវត្តិ។ នេះជាការពិតជាពិសេសជាមួយនឹងកម្មវិធីធំៗ និងស្មុគស្មាញនៅក្នុងបរិយាកាស IT ធំៗ ដូចជាធនាគារ មន្ទីរពេទ្យ ក្រុមហ៊ុនផលិតកម្ម និងអ្នកលក់រាយធំៗ។
ការធ្វើតេស្តស្ត្រេស សំដៅលើការសាកល្បងកម្មវិធី ឬផ្នែករឹង ដើម្បីកំណត់ថាតើដំណើរការរបស់វាពេញចិត្តឬអត់ នៅក្រោមលក្ខខណ្ឌធ្ងន់ធ្ងរ និងមិនអំណោយផល ដែលអាចកើតឡើងជាលទ្ធផលនៃចរាចរណ៍បណ្តាញធ្ងន់ ដំណើរការផ្ទុក ដំណើរការមិនប្រក្រតី ការ Overclock និងតម្រូវការប្រើប្រាស់ធនធានខ្ពស់បំផុត។
ប្រព័ន្ធភាគច្រើនត្រូវបានបង្កើតឡើងដោយសន្មតថាលក្ខខណ្ឌប្រតិបត្តិការធម្មតា។ ដូច្នេះហើយ ទោះបីជាលើសពីដែនកំណត់ក៏ដោយ កំហុសគឺមានការធ្វេសប្រហែស ប្រសិនបើប្រព័ន្ធត្រូវបានធ្វើតេស្តភាពតានតឹងអំឡុងពេលអភិវឌ្ឍន៍។
ការធ្វើតេស្តភាពតានតឹងត្រូវបានប្រើក្នុងបរិបទខាងក្រោម៖
ការធ្វើតេស្តដោយស្វ័យប្រវត្តិ (ស្វ័យប្រវត្តិកម្មនៃការធ្វើតេស្តកម្មវិធី) គឺជាវិធីសាស្រ្តនៃការធ្វើតេស្តកូដដែលប្រើឧបករណ៍កម្មវិធីពិសេសដែលដំណើរការការធ្វើតេស្តដោយស្វ័យប្រវត្តិហើយបន្ទាប់មកប្រៀបធៀបលទ្ធផលតេស្តជាក់ស្តែងជាមួយនឹងលទ្ធផលរំពឹងទុក។
ការធ្វើតេស្តដោយស្វ័យប្រវត្តិដើរតួនាទីយ៉ាងសំខាន់ក្នុងការចែកចាយបន្ត (ស៊ីឌី) សមាហរណកម្មបន្ត (CI) DevOps និង DevSecOps ។ អត្ថប្រយោជន៍ចម្បងនៃការធ្វើតេស្តស្វ័យប្រវត្តិរួមមាន:
នៅក្នុងការអភិវឌ្ឍន៍កម្មវិធី វាមានប្រយោជន៍ជាពិសេសក្នុងការអនុវត្តការធ្វើតេស្តដោយស្វ័យប្រវត្តិក្នុងអំឡុងពេលដំណើរការបង្កើត ដើម្បីធានាថាកម្មវិធីមិនមានកំហុសក្នុងការបង្កើត និងអនុវត្តមុខងារដែលចង់បានរបស់វា។
ការចំណាយពេលវេលាដើម្បីធ្វើការធ្វើតេស្តកម្មវិធីដោយស្វ័យប្រវត្តិនៅទីបំផុតនឹងសន្សំសំចៃពេលវេលារបស់អ្នកអភិវឌ្ឍន៍ដោយកាត់បន្ថយហានិភ័យដែលការផ្លាស់ប្តូរកូដនឹងធ្វើឱ្យខូចមុខងារដែលមានស្រាប់។
ការធ្វើតេស្តគឺជាដំណាក់កាលសំខាន់ណាស់ក្នុងដំណើរការអភិវឌ្ឍន៍។ ធានាថាកំហុសទាំងអស់ត្រូវបានជួសជុល ហើយផលិតផល កម្មវិធី ឬផ្នែករឹង ដំណើរការដូចបំណង ឬជិតដល់ការអនុវត្តគោលដៅរបស់វាតាមដែលអាចធ្វើទៅបាន។ ការធ្វើតេស្តដោយស្វ័យប្រវត្តិ ជាជាងការសាកល្បងដោយដៃ គឺជាការចាំបាច់ក្នុងការផ្តល់នូវកម្មវិធីដែលមានប្រសិទ្ធភាពក្នុងការចំណាយយ៉ាងខ្ជាប់ខ្ជួន ដែលបំពេញតាមតម្រូវការរបស់អ្នកប្រើប្រាស់ក្នុងលក្ខណៈទាន់ពេលវេលា ជាមួយនឹងពិការភាពតិចតួចបំផុត។
ការធ្វើតេស្តដោយដៃនៅតែធ្វើឡើងនៅពេលវេលាផ្សេងៗកំឡុងពេលអភិវឌ្ឍ ប៉ុន្តែនេះភាគច្រើនធ្វើឡើងដោយអ្នកអភិវឌ្ឍន៍ ឬវិស្វករផ្នែករឹងខ្លួនឯង ដើម្បីដឹងយ៉ាងឆាប់រហ័សថាតើការផ្លាស់ប្តូរដែលពួកគេបានធ្វើមានផលប៉ះពាល់ដែលចង់បានឬអត់។
Ercole Palmeri
ការអភិវឌ្ឍជំនាញម៉ូតូល្អតាមរយៈការលាបពណ៌ រៀបចំកុមារឱ្យមានជំនាញស្មុគស្មាញដូចជាការសរសេរជាដើម។ លាបពណ៌…
វិស័យកងទ័ពជើងទឹក គឺជាមហាអំណាចសេដ្ឋកិច្ចពិភពលោកពិតប្រាកដ ដែលបានធ្វើដំណើរឆ្ពោះទៅរកទីផ្សារ 150 ពាន់លាន...
កាលពីថ្ងៃចន្ទកន្លងទៅ កាសែត Financial Times បានប្រកាសពីកិច្ចព្រមព្រៀងជាមួយ OpenAI ។ FT ផ្តល់អាជ្ញាប័ណ្ណអ្នកសារព័ត៌មានលំដាប់ពិភពលោករបស់ខ្លួន…
មនុស្សរាប់លាននាក់ចំណាយសម្រាប់សេវាកម្មស្ទ្រីម ដោយបង់ថ្លៃជាវប្រចាំខែ។ វាជាមតិទូទៅដែលអ្នក…