BERITA Q & A SOFTWARE TESTING Mengenal Sofware Testing dan Peranan Pentingnya Tester dalam Dunia Pengembangan Sotware

Mengenal Sofware Testing dan Peranan Pentingnya Tester dalam Dunia Pengembangan Sotware

Oleh Fakkaru Jabarrohman Hidayatulloh | Rabu, 21 April 2021

Mengenal Sofware Testing dan Peranan Pentingnya Tester dalam Dunia Pengembangan Sotware

Software Tester merupakan bidang yang memiliki cara berbeda dalam membentuk aplikasi, namu memiliki tujuan yang sama dengan developer yaitu aplikasi yang minim akan bug. Landasan testing seperti SRS dan SAD kemudian jenis testing seperti node JS yaitu, un

Aktivitas di kantor membosankan?
Karyawan engangement kurang?
GAMIFIKASI-IN aja!

Yuk, belajar di GAMELAB ACADEMY, belajar kapan saja, di mana saja. Kurikulum berbasis industri. Dapatkan SERTIFIKAT ketika kamu sudah selesai!

Daftar Isi Artikel

Menjadi Software Tester, Kenali Dulu Perannya !

Software tester atau penguji perangkat lunak sebenarnya cukup jelas dari namanya. Penguji (tester) yang menguji bagaimana suatu perangkat lunak (software) bekerja sesuai dengan fungsinya dan sesuai keinginan dari pengembang (developer)  maupun owner dari aplikasi itu sendiri.  Software Tester  bekerja dengan cara yang terbilang berbeda dengan developer software itu sendiri namun memiliki satu tujuan yang sama, yaitu aplikasi yang minim akan adanya bugs atau error. Satu sisi developer menginginkan aplikasi cepat rilis dan dilain sisi software tester ingin menemukan bugs atau error sebelum aplikasi rilis agar pengguna software sendiri lebih nyaman dan aman ketika memakai aplikasinya.

Apa saja yang dipakai Software Tester Dalam Bekerja ?

Sebelum bekerja menguji aplikasi itu sendiri, seorang tester akan mengacu pada keinginan owner  dan developer. Keingina dua belah pihak ini akan diwujudukan dalam dokumen seperti SAD dan SRS. Hal ini dimaksudkan agar tester mengetahui apa yang ingin dan yang tidak ingin dicapai saat aplikasi rilis dan dikonsumsi publik, seperti bugs dan error tadi.

SAD ( Software Architecture Document )

SAD merupakan gambaran bagaimana aplikasi terbentuk menggunakan arsitektur tertentu seperti overview software, references, architectural representation (screen map, CS Management, Flow chart, database model, sequence diagram, dan class diagram), architectural goals dan constraints, use-case view, logical view, process view, deployment view serta size and performance. 

SRS ( Software Requirement Specification )

SRS sendiri lebih umum daripada SRS, karena menurut saya SRS mencakup spesifikasi aplikasi yang diinginkan oleh owner/user  yang ditujukan khusus terhadap bagian aplikasi tertentu, seperti use case description, level, included form, extend, primary actor, precondition, scope dan yang lain.

Aplikasi dan Lingkungan Kerja dimana Aplikasi Berjalan

Pengujian aplikasi berdasarkan platform yang diminta, semisal aplikasi berbasis LINUX maka environment yang digunakan seperti OS UBUNTU, KUBUNTU,  PHOENIX, dan yang lain. Aplikasi android berjalan dengan lingkungan sistem turunan LINUX, Aplikasi berbasis WINDOWS seperti .NET juga diuji sesuai lingkungannya. Namun beberapa aplikasi bisa diuji lintas platform seperti pada flutter dan reactJS.

Baca Juga : Rahasia JavaScript Terungkap! Kehebatannya dan Tips Optimalisasi Super Praktis

Jenis-jenis Testing

Tester melakukan pengujian dengan beberapa jenis, seperti unit testing dan acceptance testing pada node JS. Karena saya masih baru dalam dunia uji menguji dan yang paling baru belajar menguji kode node JS, maka hanya kedua jenis test tersebut yang dibahas.

UNIT TESTING

Unit testing sendiri merupakan pengujian kode nodeJS yang dilakukan secara spesifik terhadap hasil output dari sebuah function atau method yang harus memberikan hasil sesuai output yang ditentukan. Misal kita membuat sebuah fungsi untuk menghitung nilai rata - rata suatu siswa dalam kelas, maka output harus menghasilkan rata - rata tersebut. Jika terdapat salah atau ketidaktepatan nilai dari parameter input yang diberikan user, maka harus ditangani dengan error handling. Error tersebut akan memberikan informasi kepada user/pengguna jika mereka memasukkan data yang tidak sesuai, misal nilai tidak boleh berisikan 'char' atau karakter spesial.

Contoh unit testing nilai rata - rata adalah sebagai berikut :

gradeCalculations.js <-- Nama file fungsi yang akan diuji

const averageExams = (valuesExam) => {
    const numberValidation = valuesExam.every(exam => typeof exam === 'number');
    if (!numberValidation) throw Error('please input number');
 
    const sumValues = valuesExam.reduce((accumulator,currentValue) => accumulator + currentValue, 0);
    return sumValues / valuesExam.length;
};
 
const isStudentPassExam = (valuesExam, name) => {
    const minValues = 75;
    const average = averageExams(valuesExam);
    
    if (average > minValues) {
        console.log(`${name} is fail the exams`);
        return true;
    } else {
        console.log(`${name} is pass the exams`);
        return false;
    }
};
 
module.exports = { averageExams, isStudentPassExam };

 

Kemudian kode testing yaitu :

gradeCalculations.test.js <-- nama file dummy untuk testing fungsi rata - rata di atas

const {averageExams} = require('../gradeCalculations');

test ('menghasilkan nilai rata-rata', () => {
    const listValueOfExams = [80,90,100];
    expect(averageExams(listValueOfExams)).toEqual(90);
})

Kode test diatas akan memanggil file fungsi nilai rata - rata kemudian akan memberikan informasi apakah nilainya sesuai dengan 90. Jika input parameter bernilai angka dan sesuai (bukan karakter spesial, dll ) maka hasilnya akan menampilkan kalimat "menghasilkan nilai rata-rata". Hal ini menandakan fungsi berjalan dengan baik. Library yang digunakan untuk testing ini yaitu "JEST".

ACCEPTANCE TESTING

Test ini bersifat terlihat yaitu seputar UI ( User Interface ) sebuah web atau aplikasi android, yang dimana ketika bagian tertentu ditekan akan menghasilkan sebuah aksi yang sesuai keinginan. Misalkan tombol close akan menutup aplikasi android ketika ditekan.

 

Sumber :

1. https://idjs.github.io/belajar-nodejs/testing/index.html

2. Jurnal Teknologi Informasi DINAMIK Volume X, No. 1, Januari 2005 : 45-49


Fakkaru Jabarrohman Hidayatulloh

Fakkaru Jabarrohman Hidayatulloh

Rabu, 21 April 2021

ARTIKEL TERKAIT

Magang lebih mudah dan bisa dilakukan dari mana saja dengan Program Magang Online Gamelab. Magang Bersertifikat, plus Pelatihan!

DAFTAR MAGANG

ARTIKEL POPULER

KATEGORI