Programmer's Diary

Sebuah diary mahasiswa Teknik Informatika.

Posts Tagged ‘Verifikasi Validasi’

Testing ASP.NET MVC 2 dengan Visual Studio 2010

Posted by Alexander Rahardjo on June 4, 2010

Setelah tutorial-tutorial sebelumnya. Berikut adalah praktik dari testing yang telah saya lakukan 🙂

Source code sumber: Music Store ASP.NET MVC 2

Source code test: Music Store Test ASP.NET MVC 2

Tools yang digunakan: Visual Studio 2010

Dokumen: Laporan Akhir – Verifikasi dan Validasi Perangkat Lunak – Pengujian Aplikasi [5107100117-5107100137]

Penjelasan / Tutorial Testing:

Software Testing

Teknik Pengujian Software

Black Box Testing Studi Kasus Music Store

Unit Testing ASP.NET MVC dengan Visual Studio 2010 Part 1

Generate Sequence Diagram dengan Visual Studio 2010

Unit Testing ASP.NET MVC dengan Visual Studio 2010 Part 2

Coded UI Test pada Visual Studio 2010

Coded UI Test With Assertion pada Visual Studio 2010

Alexander Rahardjo – 5107100117

Fajar Dwi Nugroho – 5107100137

Posted in Tutorial, Verifikasi Validasi | Tagged: | Leave a Comment »

Coded UI Test With Assertion pada Visual Studio 2010

Posted by Alexander Rahardjo on June 3, 2010

Setelah mencoba tutorial sebelumnya yaitu Coded UI Test pada Visual Studio 2010, sampai pada tahap tersebut yang dilakukan oleh Visual Studio 2010 hanyalah merekam langkah-langkah yang dilakukan. Bagaimana jika anda ingin melakukan pengujian akan output dari aplikasi?

Sekarang saatnya saya mencoba memberikan tambahan testing pada GUI test yaitu Coded UI Test With Assertion

Untuk melakukan testing ini saya menggunakan aplikasi yang sama dengan pada tutorial sebelumnya 🙂

Berikut adalah langkah-langkahnya:

1. Setelah melakukan testing Coded UI pada Coded UI Test pada Visual Studio 2010 kemudian masuk ke menu Test kemudian pilih Generate Code for Coded UI Test > Use Coded UI Test Builder.

2.  Setelah itu akan muncul windows di sebelah kanan anda untuk melakukan test GUI

3. Kemudian jalankan IE 8

4. Buka aplikasi, dalam hal ini saya melakukan uji coba terhadap Login Administrator

5. Setelah melakukan Login akan muncul halaman baru

6. Klik kiri tahan dengan mouse anda Assertion pada Window UIMap – Coded UI Test Builder

7. Arahkan pointer mouse anda ke hasil yang ingin dibandingkan kemudian lepaskan klik, dalam hal ini saya membandingkan dari isi halaman

8. Kemudian akan muncul jendela properti dan tambahkan properti pengecekan dengan mengklik tombol “Add Assertion” setelah anda memilih properti mana yang akan diberi Assertion, dalam hal ini saya memilih “IsNotNull” lalu klik OK

9. Lalu klik tombol paling kanan/generate code/ALT+G dan isikan nama method anda dan klik tombol Add and Generate

10. Kemudian secara otomatis Visual Studio 2010 akan melakukan generate program untuk assert test UI

11. Setelah itu, karena akan melakukan testing terhadap halaman Login, maka halaman tersebut harus diakses secara otomatis oleh sistem oleh karena itu diperlukan adanya test gabungan antara GUI test yang pada tahap awal dengan assert GUI test ini. Caranya memanggil method assert tadi ketika dilakukan GUI test atau cara yang paling mudah yaitu dengan menyalin code dari method assert anda ke dalam method GUI test yang ada pada tahap awal tujuannya agar pada saat test dijalankan kedua test ini akan berjalan

12. Lalu untuk melakukan test anda cukup klik kanan pada method yang baru digenerate oleh Visual Studio 2010 tersebut lalu pilih Run Tests

13. Proses GUI Testing dan GUI Assert Testing akan terlaksana secara otomatis (jangan menyentuh keyboard atau mouse karena akan mengganggu proses testing  :))

14. Apabila proses testing berjalan dengan baik maka akan keluar tanda passed pada Test Result di Visual Studio anda

15. Apabila Anda ingin melakukan test lagi maka anda perlu masuk ke menu Test kemudian pilih Generate Code for Coded UI Test > Use Coded UI Test Builder

Demikian tutorial dari saya mengenai Coded UI Test With Assertion pada Visual Studio 2010

Selamat mencoba 🙂

Posted in Microsoft, Tutorial, Verifikasi Validasi, Visual Studio | Tagged: , , , , | 1 Comment »

Coded UI Test pada Visual Studio 2010

Posted by Alexander Rahardjo on June 3, 2010

Setelah saya menjelaskan mengenai salah satu fitur baru pada Visual Studio 2010 pada artikel sebelumnya Generate Sequence Diagram from Visual Studio 2010. Selanjutnya pada kesempatan kali ini saya akan mengenalkan sebuah fitur baru yang dimiliki oleh Visual Studio 2010 yang tentunya belum dimiliki oleh versi sebelumnya :).


Fitur yang satu ini cukup menarik yaitu Coded UI Test yang digunakan untuk GUI Test, dimana tester dimudahkan untuk melakukan testing GUI pada suatu perangkat lunak.
Pada kesempatan kali ini saya akan memberikan tutorial untuk menggunakan fitur baru tersebut. Adapun perangkat lunak yang saya gunakan di sini adalah ASP.NET MVC 2, Visual Studio 2010, dan Windows XP SP 3.

Berikut adalah tutorialnya:
1. Buka perangkat lunak anda pada Visual Studio 2010
2. Pilih menu Test, lalu new test

3. Lalu akan keluar sebuah windows dimana anda harus memilih Coded UI Test dan isikan nama test anda, dalam tutorial ini saya mengisikan AdminUITest, lalu klik OK

4. Apabila anda belum memiliki project test maka akan keluar windows untuk new project, dalam tutorial ini saya mengisikan MvcMusicStoreUI.Tests, lalu klik OK


5. Setelah itu akan muncul windows baru lagi, dimana anda harus memilih option yang atas Record actions, edit UI map or add assertions, lalu klik OK

6. Setelah itu akan muncul windows di sebelah kanan anda untuk melakukan test GUI
fungsi dari windows di atas antara lain:



Record : berguna jika anda ingin mulai merekan aktivitas testing.



Show Recorded Steps : untuk menunjukkan langkah-langkah mana saja yang telah dieksekusi.



Assertion : untuk menambahkan asersi/ pengencekan terhapa output dari aplikasi yang sedang ditest.



Generate Code : untuk menerjemahkan kode hasil rekaman tadi




7. Lalu klik tombol paling kiri/start recording/ALT+R


8. Karena saya menggunakan ASP.NET maka saya menggunakan Internet Explorer 8 ( IE 8 ) untuk melakukan GUI testing ini

9. Setelah itu jalankan IE 8 dan lakukan yang anda ingin testing (dalam tutorial ini saya melakukan testing terhadap GUI Admin, dengan melakukan masukan username dan password)

10. Visual Studio 2010 akan secara otomatis melakukan record perilaku anda terhadap GUI yang anda test

11. Setelah selesai melakukan testing klik tombol paling kiri/pause recording/ALT+P

12. Dan anda dapat melihat hasil/step yang anda lakukan pada testing tadi dengan mengklik tombol Show Recorded Steps/ALT+S

13. Lalu klik tombol paling kanan/generate code/ALT+G dan isikan nama method anda dan klik tombol Add and Generate

14. Kemudian secara otomatis Visual Studio 2010 akan melakukan generate program untuk test UI

15. Sebelum melakukan test jangan lupa untuk menutup program yang dijalankan tadi


16. Lalu untuk melakukan test anda cukup klik kanan pada method yang baru digenerate oleh Visual Studio 2010 tersebut lalu pilih Run Tests

17. Proses GUI Testing akan terlaksana secara otomatis (jangan menyentuh keyboard atau mouse karena akan mengganggu proses testing :))

18. Apabila proses testing berjalan dengan baik maka akan keluar tanda passed pada Test Result di Visual Studio anda

19. Apabila Anda ingin melakukan test lagi maka anda perlu masuk ke menu Test kemudian pilih Generate Code for Coded UI Test > Use Coded UI Test Builder


Demikian tutorial dari saya mengenai Coded UI Test pada Visual Studio 2010
Selamat mencoba 🙂

Posted in Microsoft, Tutorial, Verifikasi Validasi, Visual Studio | Tagged: , , , , , | 2 Comments »

Unit Testing ASP.NET MVC 2 dengan Visual Studio 2010 – Part 2

Posted by Alexander Rahardjo on June 3, 2010

Pada kesempatan kali ini saya akan memaparkan mengenai Unit Testing pada Visual Studio 2010 yang berjalan pada OS Windows XP SP 3

Pada Unit Testing pertama-tama anda harus mempersiapkan aplikasi anda yang akan ditesting berikut dengan dokumen-dokumennya seperti usecase dan sequence diagram serta Test Skenario nya dimana yang telah saya paparkan pada artikel sebelumnya dan anda juga dapat dengan mudah melakukan generate sequence diagram seperti pada tutorial sebelumnya

Dalam tutorial ini saya menggunakan aplikasi ASP.NET MVC 2. Framework ASP.NET MVC sendiri telah dirancang agar mudah digunakan dengan objek mock yang diperlukan dalam unit testing tertentu. Mock adalah objek-objek yang sengaja diciptakan untuk meniru objek yang sesungguhnya, namun jauh lebih sederhana dan bisa dikondisikan dengan konteks test  unit tertentu. Objek-objek yang sering di-mock dalam sebuah program web diantaranya adalah HTTP Context, HTTP Request, dan HTTP Response. Oleh karena itu anda membutuhkan library Moq untuk keperluan pembuatan mocking terhadap objek. Library Moq versi terbaru bisa di-download dari alamat berikut ini: http://code.google.com/p/moq/ dan anda juga membutuhkan MvcMockHelpers yang dapat anda lihat di sini atau ini. Selanjutnya buka aplikasi anda 🙂

Langkah-langkahnya adalah sebagai berikut:

1. Buka project ASP.NET MVC 2 anda pada Visual Studio 2010

2. Pilih menu Test, lalu new test

3. Lalu akan keluar sebuah windows dimana anda harus memilih Unit Test Wizard dan isikan nama project test anda, dalam tutorial ini saya mengisikan MvcMusicStore.Tests, lalu klik Create

4. Setelah itu akan muncul windows lagi dimana anda harus memilih method pada project anda yang akan anda test, pada tutorial ini saya akan mengetes method LogOn() yang digunakan untuk Login, lalu klik OK

5. Kemudian secara otomatis Visual Studio 2010 akan melakukan generate pada program test anda.

6. Namun karena kita akan melakukan testing terhadap ASP.NET MVC 2, maka kita tidak akan bisa menggunakan code dasar yang di-generate oleh Visual Studio 2010. Yang anda harus lakukan adalah memberikan code sebagai berikut pada method tersebut:

            // Setup
            var formsAuthenticationMock = new Mock<IFormsAuthenticationService>();
            var membershipProviderMock = new Mock<IMembershipService>();

            AccountController target = new AccountController(formsAuthenticationMock.Object, membershipProviderMock.Object);
            target.SetFakeControllerContext();

            // Execute
            ViewResult result = target.LogOn() as ViewResult;

            // Verify
            ViewDataDictionary viewData = result.ViewData;
            Assert.AreEqual("LoginGet", viewData["Title"]);
            Assert.AreEqual(1, viewData.Count);

7. Setelah itu jangan lupa anda perlu menghapus code bagian ini pada method tersebut, karena testing akan berjalan bukan pada browser.

        [HostType("ASP.NET")]
        [AspNetDevelopmentServerHost("C:\\Documents and Settings\\Alexander Rahardjo\\Desktop\\Verval_MusicStoreMVC\\tutorial\\2\\Source\\MvcMusicStore", "/")]
        [UrlToTest("http://localhost:1397/")]

8. Maka secara keseluruhan code anda akan menjadi seperti ini

        [TestMethod()]
        public void LogOnTest()
        {
            // Setup
            var formsAuthenticationMock = new Mock<IFormsAuthenticationService>();
            var membershipProviderMock = new Mock<IMembershipService>();

            AccountController target = new AccountController(formsAuthenticationMock.Object, membershipProviderMock.Object);
            target.SetFakeControllerContext();

            // Execute
            ViewResult result = target.LogOn() as ViewResult;

            // Verify
            ViewDataDictionary viewData = result.ViewData;
            Assert.AreEqual("LoginGet", viewData["Title"]);
            Assert.AreEqual(1, viewData.Count);
        }

9. Lalu setelah ini anda perlu melakukan klik kanan pada method yang akan di tes tadi dan pilih Run Tests

10. Dan berikut adalah hasilnya pada Test Results

11. Setelah itu pada tutorial ini saya mengetes 2 method LogOn() yang awalnya saya test adalah LogOn() untuk GET dan sekarang akan saya test LogOn() untuk POST

12. Dan berikut adalah contoh code untuk LogOn() POST:

        [TestMethod()]
        public void LogOnTest2()
        {
            //AccountController target = new AccountController(); // TODO: Initialize to an appropriate value
            //ActionResult expected = null; // TODO: Initialize to an appropriate value
            //ActionResult actual;
            //actual = target.LogOff();
            //Assert.AreEqual(expected, actual);
            //Assert.Inconclusive("Verify the correctness of this test method.");

            // Setup
            var formsAuthenticationMock = new Mock<IFormsAuthenticationService>();
            var membershipProviderMock = new Mock<IMembershipService>();

            string username = "Administrator";
            string password = "password123";
            string returnUrl = "StoreManager";
            bool rememberMe = false;

            LogOnModel model = new LogOnModel();
            model.UserName = username;
            model.Password = password;
            model.RememberMe = rememberMe;

            formsAuthenticationMock.Expect(f => f.SignIn(username, rememberMe));

            AccountController target = new AccountController(formsAuthenticationMock.Object, membershipProviderMock.Object);
            target.SetFakeControllerContext();
            target.HttpContext.Request.SetHttpMethodResult("POST");

            //// Execute
            //RedirectToRouteResult result = target.LogOn(model,returnUrl) as RedirectToRouteResult;

            // Execute
            ViewResult result = target.LogOn(model, returnUrl) as ViewResult;
            membershipProviderMock
                .Expect(m => m.ValidateUser(username, password))
                .Returns(true);

            // Verify
            ViewDataDictionary viewData = result.ViewData;
            Assert.AreEqual("LoginPost", viewData["Title"]);
            Assert.AreEqual(1, viewData.Count);
        }

13. Lakukan Run Test lagi dan berikut adalah hasilnya pada Test Results

14. Anda juga dapat menjalankan 2 test tadi sekaligus, caranya adalah dengan pilih menu Tests–>Windows–>Test List Editor

15. Setelah itu akan keluar windows seperti di bawah ini:Anda hanya perlu memilih test mana yang akan anda jalankan, dalam tutorial ini saya menjalankan LogOnTest() dan LogOnTest2()

16. Setelah itu anda perlu mengklik tombol Run Checked Tests pada ujung kiri

17. Dan berikut adalah hasilnya pada Test Results

Demikian tutorial dari saya mengenai Unit Test menggunakan Visual Studio 2010.

Selamat mencoba 🙂

Dan untuk testing berikutnya yaitu GUI Testing akan saya paparkan pada artikel berikutnya. GUI Testing akan menggunakan sebuah fitur baru pada Visual Studio 2010 🙂


Posted in Microsoft, Tutorial, Verifikasi Validasi, Visual Studio | Tagged: , , , , | 1 Comment »

Generate Sequence Diagram pada Visual Studio 2010

Posted by Alexander Rahardjo on June 3, 2010

Visual Studio 2010 dilengkapi dengan sebuah fitur baru yang tidak ada pada versi pendahulunya. Pada kali ini saya akan menunjukkan fitur baru tersebut. Sesuai dengan judul artikel ini dapat anda ketahui bahwa fitur baru pada Visual Studio 2010 ini adalah dapat membuat sequence diagram dengan cukup klik pada method yang anda ingin dibuat sequence diagram, maka Visual Studio 2010 ini akan melakukan generate secara otomatis sequence diagram dari method anda tersebut. Hal ini akan sangat membantu kita dalam melakukan testing software dimana testing software dibutuhkan suatu sequence diagram seperti yang telah saya jelaskan pada artikel ini

Pada tutorial kali ini saya menggunakan aplikasi ASP.NET MVC 2 dengan tools Visual Studio 2010 yang saya jalankan pada Sistem Operasi Windows XP SP 3

Berikut akan saya tunjukkan caranya 🙂

1. Berikut adalah method yang akan saya generate sequence diagramnya

2. Setelah itu cukup melakukan klik kanan dengan mouse pada method tersebut dalam contoh ini adalah method Create() lalu pilih Generate Sequence Diagram.


3. Berikutnya akan keluar sebuah windows seperti di bawah ini.

4. Anda dapat melakukan setting pada windows tersebut. Lalu klik OK pada windows tersebut.

5. Lalu akan muncul proses generate sequence diagram dari Visual Studio 2010.

6. Setelah itu pada akhirnya sequence diagram terbentuk tampak seperti gambar di bawah ini 🙂

7. Selanjutnya anda dapat menyimpan sequence diagram tersebut. 🙂

Selamat mencoba 🙂

Posted in Microsoft, Tutorial, Verifikasi Validasi, Visual Studio | Tagged: , , , | 8 Comments »

Unit Testing ASP.NET MVC 2 dengan Visual Studio 2010 – Part 1

Posted by Alexander Rahardjo on June 3, 2010

Pada tulisan kali ini saya akan menjelaskan terlebih dahulu mengenai Unit Testing 🙂

Apa itu Unit Testing?
Unit Testing adalah sebuah kode yang ditulis oleh developer, yang digunakan untuk menguji bagian kecil/area spesifik dari suatu fungsionalitas dari kode yang akan ditest.
Unit testing dilakukan untuk membuktikan apakah kode yang telah ditulis berfungsi sesuai dengan kehendak programmer.

Mengapa Unit Testing?
Secara implisit, unit testing akan membuat hidup seorang programmer menjadi lebih “mudah”.
Apalagi dengan menggunakan Visual Studio 2010 cukup dengan melakukan generate code untuk testing, Unit Testing pun dapat dilakukan.
Unit testing akan memperbaiki design code dan mengurangi waktu yang digunakan untuk debugging secara drastis.
Building house of cards, adalah perumpamaan yang tepat untuk menggambarkan proses coding tanpa testing. Karena bila pondasi/dasar dari bangunan tersebut labil, maka bagian-bagian yang dibangun diatasnya juga akan terpengaruh dan akhirnya runtuh.
Perubahan kecil pada suatu modul/unit akan merambat hingga ke level yang lebih tinggi, yang tentunya juga membutuhkan perbaikan. Oleh karena itu, perubahan pada level dasar harus ditest sebelum mempengaruhi level yg lebih tinggi.

Siapa yang melakukan Unit Testing?
Unit testing dilakukan oleh programmer yang menuliskan suatu modul/unit tertentu.
Test code tidak akan dikirimkan ke user, jadi hanya production code (kode yang digunakan dalam program utama) yang di-deliver ke user.

Kapan dilakukan Unit Testing?
Unit testing dilakukan setelah programmer selesai menuliskan suatu kode/fungsi/method yang ada dalam suatu class.
Dapat juga dilakukan setelah menambahkan sebuah fungsionalitas baru atau setelah melakukan refactoring.

Bagaimana cara melakukan Unit Testing?
Unit testing membutuhkan suatu tools yang spesifik untuk tiap-tiap bahasa pemrograman. Dan tools tersebut terpisah dengan bahasa pemrograman. Beberapa contoh tools yang digunakan pada unit testing :

  • CUnit : digunakan untuk bahasa C
  • JUnit : digunakan untuk bahasa Java
  • VBUnit : digunakan untuk bahasa Basic
  • NUnit : digunakan untuk bahasa C# (baca: c-sharp)
  • PHPUnit : digunakan untuk bahasa PHP

Dan pada seri tutorial ini saya menggunakan tools NUnit pada Visual Studio 2010 dan aplikasi yang saya testing adalah ASP.NET MVC 2 🙂

Posted in Microsoft, Tutorial, Verifikasi Validasi, Visual Studio | Tagged: , , , | 1 Comment »

Black Box Testing Studi Kasus Music Store

Posted by Alexander Rahardjo on June 3, 2010

Pada artikel sebelumnya saya telah memposting mengenai Software Testing dan Teknik Pengujian Software dan berikut ini merupakan salah satu bentuk dari Software Testing yaitu Black Box Testing.

Pada tutorial ini studi kasus yang digunakan adalah aplikasi ASP.NET MVC 2 yaitu Music Store.

Use Case Diagram : Music Store

Test Case:


1. Use Case View Album by Genre

No Skenario Test Case Hasil yang diharapkan Status
1. Berhasil melakukan browse Album User action memilih Genre

“Rock”

Sistem me-redirect ke halaman Browse berisi deskripsi Genre dan menampilkan seluruh Album yang bersangkutan Pass



2. Use Case View Detail Album

No Skenario Test Case Hasil yang diharapkan Status
1. Berhasil melihat Detail Album User memilih Album “Greatest Hits” Sistem me-redirect ke halaman Detail dari Album Pass



3. Use Case Add Album to Cart

No Skenario Test Case Hasil yang diharapkan Status
1. Berhasil menambahkan Album ke Cart User memilih “Add to cart” Sistem me-redirect  halaman Cart dan menampilkan informasi cart Pass



4. Use Case Remove Album from Cart

No Skenario Test Case Hasil yang diharapkan Status
1. Berhasil Remove Album dari cart dengan jumlah Album masing-masing nama 1 buah User menghapus Album yang diinginkan “Remove from cart” Sistem menghapus Album dari daftar cart Pass
2 Berhasil Remove Album dari cart dengan jumlah Album lebih dari 1 buah User menghapus Album yang diinginkan “Remove from cart” Sistem mengurangi jumlah Album yang dihapus Failed



5. Use Case Register

No Skenario Test Case Hasil yang diharapkan Status
1. Register Berhasil Username :

fajar000

Email :

address:fajr@gmail.com

Password:

fajar123

Confirm Password:

fajar123

Sistem berhasil melakukan request registrasi dan di-redirect ke halamanam Index Pass
2. Tidak mengisi seluruh field Username :-

Email :

address:fajr@gmail.com

Password:

fajar123

Confirm Password:

fajar123

Sistem error dan memberikan pesan “The User name field is required Pass
3. Password dan Retype password tidak sama Username :

fajar000

Email :

address:fajr@gmail.com

Password:

fajar123

Confirm Password:

123fajar

Sistem error dan memberikan pesan “The password and confirmation password do not match Pass



6. Use Case Checkout

No Skenario Test Case Hasil yang diharapkan Status
1. User mengisi lengkap informasi, Check out berhasil First Nama:lutfi

Last Name:rizal

Address:blok-u69

City:surabaya

State:surabaya

Postal Code:12345

Country:indonesia

Phone:0987654321

EmailAddress: l.r@yes.com

Promo Code:FREE

Sistem berhasil menyimpan informasi user dan memberikan pesan “Thanks for your order! Your order number is: 476 Pass
2. Gagal karena user tidak mengisi lengkap informasi First Nama:-

Last Name: -Address:-

City:-

State:-

Postal Code:-

Country:-

Phone:-

EmailAddress:-

Promo Code:FREE

Sistem tidak berhasil menyimpan dan memberikan pesan “Field required Pass
3. Gagal karena user tidak mengisikan Promo Code First Nama:lutfi

Last Name:rizal

Address:blok-u69

City:surabaya

State:surabaya

Postal Code:12345

Country:indonesia

Phone:0987654321

EmailAddress: l.r@yes.com

Promo Code:-

Sistem tidak menyimpan informasi Pass



7. Use Case Manage Albums

No Skenario Test Case Hasil yang diharapkan Status
1. Penambahan albums berhasil Title:I’m Sorry Sir

Price: 98

Artist:AC/DC

Genre:Rock

Penambahan Album berhasil  dan di-redirect ke halaman Index Pass
2. Saat penambahan informasi yang diwajibkan tidak lengkap Title:-

Price: 98

Artist:AC/DC

Genre:Rock

Sistem tidak menambahkan album dan memberikan pesan” An Album Title is required Pass
3. User melakukan fungsi remove dan berhasil User memilih album yang akan dihapu dengan menekan “Delete” Sistem memberikan konfirmasi dan bila berhasil memberikan pesan“Your album was successfully deleted Pass
4. User melakukan fungsi edit dan berhasil User merubah data Album “Greatest Hits” sbb:

Title:Musik TOP

Sistem berhasil menyimpan perubahan yang dilakukan Pass



Semoga berguna 🙂

Berikutnya akan dibahas mengenai Unit Testing dan GUI Testing 🙂

Posted in Verifikasi Validasi | Tagged: | 7 Comments »

Teknik Pengujian Software

Posted by Alexander Rahardjo on June 3, 2010

Setelah memaparkan sedikit mengenai Software Testing pada artikel sebelumnya, maka pada kesempatan kali ini saya akan memaparkan tentang Teknik Pengujian pada Software Testing, langkah-langkah apa saja yang diperlukan sebelum melakukan Software Testing.

Berikut adalah langkah-langkahnya:

1. Mempersiapkan Aplikasi yang akan ditesting, dalam kasus ini saya akan melakukan testing terhadap suatu aplikasi ASP.NET MVC 2, yaitu Music Store yang saya download dari situs open source di sini

2. Mempersiapkan dokumen-dokumen mengenai aplikasi seperti usecase dan sequence diagram, seperti berikut ini:

3. Mempersiapkan test skenario, sebagai contoh berikut ini:

Test Skenario:

No Skenario Method Class Test Case Hasil Diharapkan Status
1 Login Berhasil ActionResult LogOn(LogOnModel model, string returnUrl) AccountController.cs username = “Administrator”;

password = “password123”;

returnUrl = “StoreManager”;

Login berhasil  dan di-redirect ke halaman StoreManager
2 Login Gagal karena data invalid/tidak benar ActionResult LogOn(LogOnModel model, string returnUrl) AccountController.cs username = “Administrator”;

password = “123”;

RememberMe = false

Login gagal dan di-redirect ke halaman Index
3 Penambahan albums berhasil ActionResult Create(Album album) StoreManagerController.cs Title:I’m Sorry Sir

Price: 98

Artist:AC/DC

Genre:Rock

Penambahan Album berhasil  dan di-redirect ke halaman StoreManager
4 Saat penambahan informasi yang diwajibkan tidak lengkap ActionResult Create(Album album) StoreManagerController.cs Title:-

Price: 98

Artist:AC/DC

Genre:Rock

Sistem tidak menambahkan album dan memberikan pesan” An Album Title is required

4. Mempersiapkan tools yang digunakan untuk testing, seperti Visual Studio 2010, TestComplete dan sebagainya. Dalam testing ini saya akan menggunakan Visual Studio 2010 yang nantinya akan saya paparkan langkah-langkah testing menggunakan tools tersebut. 🙂

5. Kemudian setelah itu baru anda dapat melakukan testing

Selamat mencoba dan saya akan memaparkan tahap-tahap testing dengan menggunakan Visual Studio 2010 pada artikel selanjutnya 🙂

Posted in Verifikasi Validasi | Tagged: , , , | 5 Comments »

Software Testing

Posted by Alexander Rahardjo on June 3, 2010


Testing adalah salah satu aktivitas yang harus dilakukan sebagai bagian dari tahap pembangunan perangkat lunak. Tujuannya adalah untuk mencari sebanyak-banyaknya kesalahan, error maupun defect. Testing dilakukan dengan mengacu pada test plan dan test cases. Idealnya, testing dilakukan oleh tester, bukan oleh programmer, sehingga lebih obyektif.

Pengujian Software adalah satu elemen dari sebuah topik broader yang sering diartikan sebagai Verifikasi dan Validasi (V&V)
Verifikasi : menunjuk ke kumpulan aktifitas yang memastikan bahwa software mengimplementasi sebuah fungsi spesifik.
Validasi : menunjuk ke sebuah kumpulan berbeda dari aktivitas yang memastikan bahwa software yang telah dibangun dapat di-trace terhadap kebutuhan customer.

Terdapat berbagai macam bentuk Software Testing dan pendekatan test itu sendiri terdiri dari 2 macam yaitu:


1. Black Box Testing
Test case ini bertujuan untuk menunjukkan fungsi PL tentang cara beroperasinya, apakah pemasukan data keluaran telah berjalan sebagaimana yang diharapkan dan apakah informasi yang disimpan secara eksternal selalu dijaga kemutakhirannya. Pada blog ini pernah dijelaskan sedikit mengenai Black Box Testing, dapat anda lihat pada link berikut 🙂

2. White Box Testing
Adalah meramalkan cara kerja perangkat lunak secara rinci, karenanya logikal path (jalur logika) perangkat lunak akan ditest dengan menyediakan test case yang akan mengerjakan kumpulan kondisi dan atau pengulangan secara spesifik. Secara sekilas dapat diambil kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%.


Dan pada artikel saya berikutnya akan saya paparkan mengenai bentuk testing lainnya seperti NUnit Testing dan GUI Testing 🙂

Posted in Verifikasi Validasi | Tagged: , , | 3 Comments »

Generating Test Cases From Use Cases Studi Kasus Perpustakaan

Posted by Alexander Rahardjo on March 25, 2010

Berikut adalah Generating Test Case from Use Cases pada Studi Kasus Perpustakaan

Use Case Model : Perpustakaan

Use Case Sistem Perpustakaan

Dari use case di atas yang saya gunakan adalah Use Case Pendaftaran Anggota dan Use Case Edit Profil

A. Use Case Pendaftaran Anggota

Pendaftaran Anggota

Basic Flow

No Actor (Petugas) No Sistem
1 Petugas memasukkan biodata calon anggota perpustakaan meliputi: no KTP, nama, alamat, no telp, username, password
2 Sistem mengecek keberadaan no KTP, jika tidak ditemukan no KTP yang sama maka lanjut ke langkah berikutnya
3 Sistem mengecek kelengkapan data
4 Sistem menyimpan data anggota baru tersebut ke dalam database
5 Sistem menampilkan notifikasi keberhasilan proses

Alternate Flow 1 – Penyewa telah terdaftar

No Actor (Petugas) No Sistem
1 Petugas memasukkan biodata calon anggota perpustakaan meliputi: no KTP, nama, alamat, no telp, username, password
2 Sistem mengecek keberadaan no KTP
3 Sistem menemukan no KTP yang sama
4 Sistem menampilkan notifikasi kegagalan proses

Alternate Flow 2 – Keluar dari sistem

No Actor (Petugas) No Sistem
1 Petugas keluar dari menu pendaftaran
2 Sistem keluar kembali ke menu awal

Alternate Flow 3 – Data Registrasi tidak benar/lengkap

No Actor (Petugas) No Sistem
1 Petugas memasukkan biodata calon anggota perpustakaan meliputi: no KTP, nama, alamat, no telp, username, password
2 Sistem mengecek keberadaan no KTP, jika tidak ditemukan no KTP yang sama maka lanjut ke langkah berikutnya
3 Sistem mengecek kelengkapan data
4 Sistem menampilkan notifikasi kegagalan proses karena data tidak lengkap

Alternate Flow 4 – Penyewa menggunakan kartu identitas lain

No Actor (Petugas) No Sistem
1 Petugas memasukkan biodata calon anggota perpustakaan meliputi: no KTP, nama, alamat, no telp, username, password
2 Sistem mengecek keberadaan no Identitas tersebut, jika tidak ditemukan no Identitas yang sama maka lanjut ke langkah berikutnya
3 Sistem mengecek kelengkapan data
4 Sistem menyimpan data anggota baru tersebut ke dalam database
5 Sistem menampilkan notifikasi keberhasilan proses

Scenario

Scenario 1 Basic Flow
Scenario 2 Basic Flow Alternate Flow 1 Alternate Flow 2
Scenario 3 Basic Flow Alternate Flow 3
Scenario 4 Basic Flow Alternate Flow 4

Partial Scenario Matrix

Scenario Name Starting Flow Alternate
Skenario 1 – Registrasi Berhasil Basic Flow
Skenario 2 – Penyewa telah terdaftar Basic Flow A1
Skenario 3 – Keluar dari sistem Basic Flow A2
Skenario 4 – Data Registrasi Tidak Lengkap Basic Flow A3
Skenario 5 – Penyewa menggunakan Kartu Identitas lain Basic Flow A4

Test Case Matrix

Test Case ID Skenario No Identitas Nama Alamat No Telp Username Password Hasil
PA – 1 Skenario 1 – Registrasi Berhasil V V V V V V Registration Complete
PA – 2 Skenario 2 – Penyewa telah terdaftar I N/A N/A N/A N/A N/A Error Message; Menampilkan form penyewa beserta daftar transaksi yang pernah dilakukan penyewa.
PA – 3 Skenario 3 – Keluar dari sistem N/A N/A N/A N/A N/A N/A Kembali ke Menu Utama
PA – 4 Skenario 4 – Data Registrasi Tidak Lengkap N/A N/A N/A N/A N/A N/A Error Message; Kembali ke menu registrasi.
PA – 5 Skenario 5 – Penyewa menggunakan Kartu Identitas lain V V V V V V Registration Complete

Test Case Matrix dengan Data

Test Case ID Skenario No Identitas Nama Alamat No Telp Username Password Hasil
PA – 1 Skenario 1 – Registrasi Berhasil 09.5003.280869.2002 Alexander Sukolilo no 7 Surabaya 031-5929487 alex 1234 Registration Complete
PA – 2 Skenario 2 – Penyewa telah terdaftar 09.5003.280869.2001 N/A N/A N/A N/A N/A Error Message; Menampilkan form penyewa beserta daftar transaksi yang pernah dilakukan penyewa.
PA – 5 Skenario 3 – Keluar dari sistem N/A N/A N/A N/A N/A N/A Kembali ke Menu Utama
PA – 3 Skenario 4 – Data Registrasi Tidak Lengkap N/A N/A N/A N/A N/A N/A Error Message; Kembali ke menu registrasi.
PA – 4 Skenario 5 – Penyewa menggunakan Kartu Identitas lain 870111321489 Tono Arraya no 9 Surabaya 031-5929123 tono 1234 Registration Complete

B. Use Case Edit Profile

Edit Profil

Basic Flow

No Actor (Anggota) No Sistem
1 Anggota memasukkan username dan password ke dalam sistem
2 Sistem mengecek kebenaran username dan password bila benar maka lanjut ke langkah selanjutnya
3 Anggota memilih menu Edit Profile
4 Anggota mengupdate/memperbaharui profile mereka
5 Sistem mengecek kebenaran data bila benar maka lanjut ke langkah berikutnya
6 Sistem menampilkan notifikasi keberhasilan proses

Alternate Flow 1 – Anggota gagal login

No Actor (Anggota) No Sistem
1 Anggota memasukkan username dan password ke dalam sistem
2 Sistem mengecek kebenaran username dan password bila benar maka lanjut ke langkah selanjutnya
3 Sistem menampilkan notifikasi kegagalan proses karena username dan password salah

Alternate Flow 2 – Keluar dari sistem

No Actor (Anggota) No Sistem
1 Anggota keluar sistem
2 Sistem keluar kembali ke menu login

Alternate Flow 3 – Terdapat data yang tidak lengkap/benar

No Actor (Anggota) No Sistem
1 Anggota memasukkan username dan password ke dalam sistem
2 Sistem mengecek kebenaran username dan password bila benar maka lanjut ke langkah selanjutnya
3 Anggota memilih menu Edit Profile
4 Anggota mengupdate/memperbaharui profile mereka
5 Sistem mengecek kebenaran data
6 Sistem menampilkan notifikasi kegagalan proses karena ada data yang tidak benar

Scenario

Scenario 1 Basic Flow
Scenario 2 Basic Flow Alternate Flow 1 Alternate Flow 2
Scenario 3 Basic Flow Alternate Flow 3
Scenario 4 Basic Flow Alternate Flow 3 Alternate Flow 2

Scenario Matrix

Scenario Name Starting Flow Alternate
Skenario 1 – Update Data Profil Berhasil Basic Flow
Skenario 2 – Anggota gagal login Basic Flow A1
Skenario 3 – Keluar dari sistem Basic Flow A2
Skenario 4 – Terdapat data yang tidak lengkap/benar Basic Flow A3

Test Case Matrix

Test Case ID Skenario Username Password No Identitas Nama Alamat No Telp Username Password Hasil
MP – 1 Skenario 1 – Update Data Profil Berhasil V V V V V V V V Update Profile Success
MP – 2 Skenario 2 – Anggota gagal login I I N/A N/A N/A N/A N/A N/A Error Message; Kembali ke menu login
MP – 3 Skenario 3 – Anggota yang valid keluar dari sistem V V N/A N/A N/A N/A N/A N/A Kembali ke menu login
MP – 4 Skenario 4 – Pengisian Data tidak valid V V I V V I V V Error Message; Kembali ke menu memperbaharui profile

Test Case Matrix dengan Data

Test Case ID Skenario Username Password No Identitas Nama Alamat No Telp Username Password Hasil
MP – 1 Skenario 1 – Update Data Profil Berhasil alex 1234 09.5003.280869.2002 Alexander R Sukolilo no 7 Surabaya 031-5929487 alex 1234 Update Profile Success
MP – 2 Skenario 2 – User gagal login alex1 5678 N/A N/A N/A N/A N/A N/A Error Message; Kembali ke menu login
MP – 3 Skenario 3 – Anggota yang valid keluar dari sistem alex 1234 N/A N/A N/A N/A N/A N/A Kembali ke menu login
MP – 4 Skenario 4 – Terdapat data yang tidak lengkap/benar alex 1234 870111321489 Alexander R Sukolilo no 7 Surabaya 123 alex 1234 Error Message; Kembali memperbaharui profile

Berikut saya sediakan versi PDF untuk dokumen ini Generating Test Cases From Use Cases Studi Kasus Perpustakaan

Alexander Rahardjo (5107100117)

Fajar Dwi Nugroho (5107100137)

Posted in Verifikasi Validasi | Tagged: | 5 Comments »

 
%d bloggers like this: