Requirements based Testing with Robotframework

Contoh Struktur Persyaratan dengan RIDE

Dalam artikel ini saya ingin sedikit berbagi pengalaman saya dalam penerapan test automatisasi dengan Robotframework dalam bentuk pengujian bersyarat (Requirements based Testing)

Sebelum itu mari kita lihat dan pahami , apa arti Pengujian berbasis Persyaratan (Requirements based Testing) secara umum.

Apa itu Pengujian Berbasis Persyaratan?
Pengujian berbasis persyaratan adalah pendekatan pengujian di mana kasus pengujian, kondisi, dan data berasal dari persyaratan. Ini termasuk tes fungsional dan juga atribut non-fungsional seperti kinerja, keandalan atau kegunaan.

Tahapan dalam Pengujian berdasarkan Persyaratan:

  • Menentukan Kriteria Penyelesaian Test :
  • Pengujian selesai hanya jika semua pengujian fungsional dan non-fungsional selesai.
  • Desain Kasus Uji: Kasus uji memiliki lima parameter yaitu:
    • keadaan awal atau prasyarat,
    • penyiapan data,
    • masukan,
    • hasil yang diharapkan,
    • hasil aktual.
  • Jalankan Test: Jalankan kasus uji terhadap sistem yang sedang diuji dan dokumentasikan hasilnya.
  • Verifikasi Hasil Test: Verifikasi apakah hasil yang diharapkan dan aktual cocok satu sama lain.
  • Verifikasi Cakupan Test: Periksa apakah pengujian mencakup aspek fungsional dan non-fungsional dari persyaratan.
  • Lacak dan kelola Kesalahan Software: Setiap
    Kesalahan yang terdeteksi selama proses pengujian melewati siklus hidup Kesalahan dan dilacak hingga penyelesaiannya. Statistik
    Kesalahan dipertahankan yang akan memberi kita status keseluruhan proyek.

Persyaratan Proses pengujian:

  • Pengujian harus dilakukan tepat waktu.
  • Proses pengujian harus menambah nilai siklus hidup perangkat lunak (software), oleh karena itu harus efektif.
  • Menguji sistem secara menyeluruh tidak mungkin dilakukan sehingga proses pengujian juga harus efisien.
  • Pengujian harus memberikan status keseluruhan proyek, oleh karena itu harus dapat dikelola. Dan biasanya untuk tujuan ini digunakan Test Management Tools (salah satu contohnya adalah Mantis / TestLink/ HP-ALM-Quality Center / Jira Plugin XRAY)

Contoh Desain Kasus Uji dengan Robotframework:

*** Settings ***
Documentation     *Kriteria Penyelesaian Test:*
...               Ein SGD ePA MUSS Folgendes sicherstellen: Wenn über dessen HTTPS-SGD-Schnittstelle (vgl. ) ein POST- Request mit dem Request-Body nach [gem_SGD_ePA#Tab_KeyDerivation-Request] eintrifft, so MUSS die RVE des SGD
...               - das Zertifikat im Datenfeld *Certificate* gemäß TUC_PKI_018 prüfen und
...               dabei Ergebnisse nach \ \ berücksichtigen.
...
...               - die Kodierung und die Signatur der ""PublicKeyECIES"" prüfen (vgl. \ und ).
...               Falls eine der Prüfungen ein nicht-positives Ergebnis liefert, so MUSS die RVE des SGD mit einer entsprechenden Fehlermeldung aus [gemSpec_SGD_ePA#] dem Client antworten und die weitere Requestverarbeitung abbrechen.
...
...               Die RVE des SGD MUSS die Informationen aufbereiten und an das für den Request avisierte SGD-HSM übergeben (vgl.). Liefert das SGD-HSM ein OK, so MUSS die SGD die Antwort den HTTP-POST-Request mit folgender Nachricht beantworten:
...               {
...               \ ""Status"" : ""OK"",
...               \ ""EncryptedMessage"" : ""... Base64-kodiertes Chiffrat. Das Chiffrat wurde vom SGD-HSM erzeugt ...""
...               }
...               Anderenfalls (SGD-HSM meldet einen Fehler) MUSS die RVE des SGD mit einer entsprechenden Fehlermeldung aus [gemSpec_SGD_ePA#] \ dem Client antworten.


*** Test Cases ***
A_17898-1
    [Documentation]    *Definisi Test:*
    ...    - Am SGD ePA trifft über die HTTPS-SGD-Schnittstelle (vgl. A_17889) ein POST-Request mit dem Request-Body nach [gem_SGD_ePA#Tab_KeyDerivation-Request] ein: die RVE des SGD prüft das Zertifikat im - Datenfeld ""Certificate"" gemäß TUC_PKI_018 \ und berücksichtigt dabei Ergebnisse nach A_17896.
    ...    - Die RVE des SGD prüft die Kodierung und die Signatur der ""PublicKeyECIES"" (vgl. A_17900 und A_17901).
    ...
    ...    *Hasil Test:*
    ...    - Beide Prüfungen liefern ein positives Ergebnis.
    ...    - Die RVE des SGD bereitet die Informationen auf.
    ...    - Die RVE des SGD übergibt die aufbereiteten Informationen an das für den Request avisierte SGD-HSM.
    ...    - Das SGD-HSM liefert ein OK.
    ...    - Die SGD beantwortet den HTTP-POST-Request mit folgender Nachricht:{\ ""Status"" : ""OK"",\ ""EncryptedMessage"" : ""... Base64-kodiertes Chiffrat. Das Chiffrat wurde vomSGD-HSM erzeugt ...""}"
    [Tags]    A_17898    gemSpec_SGD_ePA    owner-at    prio-1
    [Setup]    Enable Strict Validation
    sgd-clientjavaWF.Vorbedingungen für Überprüfung
    sgd-clientjavaWF.Schritt1
    sgd-clientjavaWF.Schritt2
    sgd-clientjavaWF.Schritt3
    sgd-clientjavaWF.Schritt4
    sgd-clientjavaWF.Schritt6

Kriteria Penyelesaian Test dapat anda implementasikan dalam fungsi [Documentation] pada Robotframework Test.

Verifikasi Cakupan Test dapat anda implementasikan dalam fungsi [Tags] pada Robotframework Test.

Verifikasi Hasil Cakupan Test akan dihasilkan oleh Robotframework Test Report dan Test Log, yang didalamnya menggambarkan jalur dan urutan Test anda.

Anda tidak membutuhkan Aplikasi atau Software extra untuk mengimplimentasikan Kriteria yang saya sebutkan di atas.

Hasil dan dokumentasi dari Test anda akan anda dapatkan selalu dari hasil akhir automatisasi Test anda dengan Robotframework.