Selalunya, cabaran terbesar dalam pengujian perisian berkait dengan hakikat bahawa ia tidak boleh dilaksanakan untuk menguji kesemua parameter-parameter input kerana kekangan-kekangan seperti kos, sumber dan masa. Mempertimbangkan faktor-faktor ini, penguji-penguji perisian perlu melakukan pilihan kes-kes ujian yang sesuai supaya sumber-sumber yang sedia ada digunakan dengan cara yang terbaik. Dalam konteks Ujian Kombinasi, penguji-penguji sering mengambil pendekatan strategi penjanaan ujian hala-t (di mana t menunjukkan kekuatan interaksi). Bukti empirikal dalam literatur menunjukkan bahawa strategi penjanaan ujian hala-t telah berjaya mengurangkan kes-kes ujian dengan ketara sambil mengekalkan keupayaan pengesanan kecacatan daripada proses pengujian. Banyak kemajuan yang berguna sudah dicapai berkenaan dengan pembangunan strategi penjanaan ujian hala-t. Walau bagaimanapun, beberapa isu masih kekal terutamanya dalam konteks menangani kerumitan dan saiz perisian (iaitu baris-baris kod) yang semakin meningkat mengakibatkan jumlah interaksi antara parameter-parameter input yang tinggi. Pertamanya, penjanaan ujian boleh mengambil jangka masa yang panjang, sebarang gangguan adalah mahal kerana keseluruhan penjanaan perlu dimulakan semula dari awal. Masa dan usaha-usaha akan menjadi sia-sia. Keduanya, strategi sedia ada melakukan pemilihan terlalu awal pada nilai terbaik parameter-parameter input apabila melakukan pensampelan kes-kes ujian. Atas sebab ini, strategi-strategi ini kurang mencukupi dari segi menjana saiz sut ujian yang optimum. Di sini, untuk meningkatkan keupayaan ujian hala-t, terdapat juga
keperluan untuk mempertimbangkan strategi kekuatan interaksi boleh ubah. Pendekatan ini sering disukai kerana kompromi dari segi saiz sut ujian kerana strategi ini memberi tumpuan pengujian di mana ia mempunyai nilai yang paling berpotensi yang biasanya dikaitkan dengan analisis risiko dan keutamaan. Untuk menangani isu-isu ini, kajian ini membangunkan strategi penjanaan data ujian dengan kekuatan interaksi boleh ubah, yang dikenali sebagai Penjana Sut Ujian dengan sokongan Pemulihan Kegagalan (TSGCR). Tidak seperti strategi-strategi yang sedia ada, TSGCR menggunakan algoritma tamak bertingkat, yang lewat memilih nilai yang terbaik sehingga ia memenuhi peraturan tertentu. Untuk menyediakan operasi yang boleh diharap, TSGCR juga membenarkan sokongan pemulihan kegagalan bersepadu sebagai sebahagian daripada strategi itu sendiri. Kerana potensi proses penjanaan data ujian yang akan mengambil jangka masa yang panjang (iaitu disebabkan oleh pemilihan parameter-parameter input dan nilai-nilai yang agak besar), TSGCR boleh menghadapi kegagalan transaksi secara paksaan (contohnya seperti kegagalan kuasa atau kesilapan sistem) atau penggantungan pelaksanaan penjanaan secara sukarela (contohnya untuk memberi ruang untuk pengiraan yang lain) membolehkan pemulihan status dan data ke status lepas yang konsisten. Untuk menilai kedayasaingan TSGCR, penjanaan ujian diuji dengan paramater-parameter input yang seragam dan campuran dan prestasi (dari segi saiz sut ujian yang dihasilkan) dibandingkan dengan strategi-strategi penjanaan ujian dengan kekuatan hala-t yang berubah-ubah yang sedia ada dengan menggunakan konfigurasi penanda aras piawaian yang terkenal (berdasarkan enam set eksperimen). Hasil kajian penanda arasan menunjukkan bahawa bagi konfigurasi interaksi VS untuk parameter input seragam, TSGCR mendapat tujuh Δ dengan nilai 0, iaitu sama nilai seperti penyelesaian terbaik yang diperolehi dengan strategi-strategi yang lain, xv tujuh Δ dengan nilai + ve, iaitu mampu untuk mendapatkan penyelesaian yang terbaik; iaitu empat belas daripada empat puluh empat keputusan eksperimen. Manakala bagi konfigurasi interaksi VS untuk parameter input campuran, TSGCR mendapat dua puluh tujuh Δ dengan nilai 0, lapan Δ dengan nilai + ve; iaitu tiga puluh lima daripada empat puluh satu keputusan eksperimen. Oleh itu, hasil keputusan menunjukkan bahawa TSGCR menghasilkan keputusan yang kompetitif berbanding kebanyakan strategi-strategi yang sedia ada.
________________________________________________________________________________________________________________________
Often, the biggest challenge in software testing relates to the fact that it is not feasible to test for all the input parameters exhaustively owing to constraints in costs, resources and time. Considering these factors, software testers must appropriately sample the test cases in order to best utilize the resources at hand. Within the context of Combinatorial Testing, testers often resort to t-way test generation strategy (where t indicates the strength of interaction). Empirical evidence in the literature indicated that t-way test generation strategy has managed to minimize the test cases significantly whilst maintaining the fault detection capability of the testing process. Much useful progress has been achieved as far as the development of t-way test generation strategy is concerned. Nevertheless, some issues remain especially in the context of addressing ever increasing complexity and size of software (i.e. lines of code) resulting into high number of interaction among input parameters. Firstly, the test generation can be painstakingly long, interruption is expensive as the whole generation process needs to be restarted from scratch. Time and efforts will also be wasted. Secondly, existing strategies commit too early on selection of the best value of input parameters when sampling of the test cases. For this reason, these strategies were less sufficient in terms of generating optimal test suite size. Here, to enhance the t-way testing capability, there is also a need to consider variable-strength strategy. This approach is often favored because of the compromise in terms of test suite size as the strategy focuses testing where it has the most potential value which usually is associated with a risk analysis and priority. In order to address these issues, this research develops a variable-strength (VS) interaction t-way test generation strategy, called Test Suite Generator with Crash Recovery support (TSGCR). Unlike existing strategies, TSGCR adopts Multilevel Greedy algorithm, which delays choosing the best value until it satisfies certain rules. To provide a reliable operation, TSGCR also permits crash recovery support integrated as part of the strategy itself. As the test generation can potentially be long lasting processes (i.e. due to large selection of input parameters and values), TSGCR tolerates involuntary transaction failures (e.g. such as power failure or system errors) or voluntary execution suspension (e.g. to give ways for other computations) enabling restoration of state and data to the last consistent state. To evaluate the competitiveness of TSGCR, the test generator is tested with uniform and mixed input parameters and the performance (in terms of the generated test suite size) is compared with existing variable strength t-way test generation strategies using well-known standard benchmark configurations (based on six sets of experiments). Benchmarking results showed that for VS interaction configurations for uniform input parameters, TSGCR is able to get seven Δ with 0 value, i.e. similar value to the best solution obtained by other strategies, seven Δ with +ve values, i.e. able to get the best solution; from fourteen out of forty four experimental results. While for VS interaction configurations for mixed input parameters, TSGCR is able to get twenty seven Δ with 0 value, eight Δ with +ve values; from thirty five out of forty one experimental results. Hence, the results demonstrated that TSGCR produces competitive results a