Apa perbedaan nyata antara tes penerimaan dan tes fungsional?
Apa yang menjadi sorotan atau tujuan masing-masing? Di mana-mana saya membaca mereka sangat mirip.
sumber
Apa perbedaan nyata antara tes penerimaan dan tes fungsional?
Apa yang menjadi sorotan atau tujuan masing-masing? Di mana-mana saya membaca mereka sangat mirip.
Di dunia saya, kami menggunakan istilah sebagai berikut:
pengujian fungsional : Ini adalah kegiatan verifikasi ; Apakah kami membuat produk yang berfungsi dengan baik? Apakah perangkat lunak memenuhi persyaratan bisnis?
Untuk jenis pengujian ini, kami memiliki kasus pengujian yang mencakup semua skenario yang dapat kami pikirkan, bahkan jika skenario itu tidak mungkin ada "di dunia nyata". Saat melakukan pengujian jenis ini, kami bertujuan untuk cakupan kode maksimum. Kami menggunakan lingkungan pengujian apa pun yang dapat kami ambil saat itu, tidak harus kaliber "produksi", asalkan dapat digunakan.
pengujian penerimaan : Ini adalah kegiatan validasi ; apakah kita membangun hal yang benar? Apakah ini yang benar-benar dibutuhkan pelanggan?
Ini biasanya dilakukan bekerja sama dengan pelanggan, atau dengan proxy pelanggan internal (pemilik produk). Untuk jenis pengujian ini, kami menggunakan kasus pengujian yang mencakup skenario umum yang kami harapkan digunakan perangkat lunak. Tes ini harus dilakukan dalam lingkungan "seperti produksi", pada perangkat keras yang sama dengan, atau dekat dengan, apa yang akan digunakan pelanggan. Inilah saat kami menguji "kemampuan" kami:
Keandalan, Ketersediaan : Divalidasi melalui stress test.
Skalabilitas : Divalidasi melalui uji beban.
Kegunaan : Divalidasi melalui inspeksi dan demonstrasi kepada pelanggan. Apakah UI dikonfigurasi sesuai dengan keinginan mereka? Apakah kami menempatkan branding pelanggan di semua tempat yang tepat? Apakah kita memiliki semua bidang / layar yang mereka minta?
Keamanan (alias, Keamanan, hanya untuk menyesuaikan) : Divalidasi melalui demonstrasi. Terkadang seorang pelanggan akan menyewa perusahaan luar untuk melakukan audit keamanan dan / atau pengujian intrusi.
Maintainability : Divalidasi melalui demonstrasi bagaimana kami akan mengirimkan pembaruan / patch perangkat lunak.
Konfigurasi : Divalidasi melalui demonstrasi bagaimana pelanggan dapat memodifikasi sistem agar sesuai dengan kebutuhan mereka.
Ini tidak berarti standar, dan saya tidak berpikir ada definisi "standar", seperti yang ditunjukkan oleh jawaban yang bertentangan di sini. Hal terpenting bagi organisasi Anda adalah Anda mendefinisikan istilah-istilah ini secara tepat, dan berpegang teguh pada mereka.
Saya suka jawaban Patrick Cuff. Yang ingin saya tambahkan adalah perbedaan antara tingkat tes dan jenis tes yang bagi saya pembuka mata.
tingkat tes
Level tes mudah dijelaskan dengan menggunakan model-V , contoh: Setiap level tes memiliki level pengembangan yang sesuai . Ini memiliki karakteristik waktu yang khas, mereka dieksekusi pada fase tertentu dalam siklus hidup pengembangan.
jenis tes
Sebuah jenis tes adalah karakteristik, berfokus pada tujuan tes khusus. Jenis uji menekankan aspek kualitas Anda, juga dikenal sebagai aspek teknis atau non-fungsional. Jenis tes dapat dieksekusi di tingkat tes apa pun . Saya suka menggunakan sebagai tipe uji karakteristik kualitas yang disebutkan dalam ISO / IEC 25010: 2011.
Untuk membuatnya lengkap. Ada juga sesuatu yang disebut pengujian regresi . Ini klasifikasi tambahan di sebelah level tes dan tipe tes . Sebuah uji regresi adalah tes yang ingin Anda ulangi karena menyentuh sesuatu yang penting dalam produk Anda. Ini sebenarnya adalah bagian dari tes yang Anda tetapkan untuk setiap level tes . Jika ada perbaikan bug kecil di produk Anda, orang tidak selalu punya waktu untuk mengulang semua tes. Pengujian regresi adalah jawaban untuk itu.
sumber
Perbedaannya adalah antara menguji masalah dan solusinya. Perangkat lunak adalah solusi untuk suatu masalah, keduanya dapat diuji.
Tes fungsional mengonfirmasi perangkat lunak melakukan fungsi dalam batas-batas cara Anda menyelesaikan masalah. Ini merupakan bagian integral dari pengembangan perangkat lunak, sebanding dengan pengujian yang dilakukan pada produk yang diproduksi secara massal sebelum meninggalkan pabrik. Tes fungsional memverifikasi bahwa produk benar-benar berfungsi seperti yang Anda (pengembang) pikirkan.
Tes penerimaan memverifikasi bahwa produk benar-benar memecahkan masalah yang dibuat untuk dipecahkan. Ini bisa dilakukan oleh pengguna (pelanggan), misalnya melakukan tugasnya yang dibantu oleh perangkat lunak. Jika perangkat lunak lulus tes dunia nyata ini, itu diterima untuk menggantikan solusi sebelumnya. Tes penerimaan ini kadang-kadang hanya dapat dilakukan dengan benar dalam produksi, terutama jika Anda memiliki pelanggan anonim (misalnya situs web). Dengan demikian fitur baru hanya akan diterima setelah beberapa hari atau minggu penggunaan.
Pengujian fungsional - menguji produk, memverifikasi bahwa ia memiliki kualitas yang Anda rancang atau bangun (fungsi, kecepatan, kesalahan, konsistensi, dll.)
Pengujian penerimaan - menguji produk dalam konteksnya, ini memerlukan (simulasi) interaksi manusia, mengujinya memiliki efek yang diinginkan pada masalah asli.
sumber
Jawabannya adalah opini. Saya bekerja di banyak proyek dan menjadi testmanager dan penerbit dan semua peran yang berbeda dan deskripsi dalam berbagai buku berbeda jadi inilah variasi saya:
pengujian fungsional: mengambil persyaratan bisnis dan menguji semuanya dengan baik dan sepenuhnya dari sudut pandang fungsional.
pengujian penerimaan: pelanggan "yang membayar" melakukan pengujian yang ia sukai sehingga ia dapat menerima produk yang dikirim. Itu tergantung pada pelanggan tetapi biasanya tes tidak selengkap pengujian fungsional terutama jika itu adalah proyek in-house karena pemangku kepentingan meninjau dan mempercayai hasil pengujian yang dilakukan pada fase pengujian sebelumnya.
Seperti yang saya katakan ini adalah sudut pandang dan pengalaman saya. Pengujian fungsional adalah sistematik dan pengujian penerimaan agaknya adalah departemen bisnis yang menguji hal itu.
sumber
Hadirin. Pengujian fungsional adalah untuk memastikan anggota tim yang memproduksi perangkat lunak melakukan apa yang mereka harapkan. Pengujian penerimaan adalah untuk meyakinkan konsumen bahwa memenuhi kebutuhan mereka.
Cakupan. Pengujian fungsional hanya menguji fungsionalitas satu komponen pada satu waktu. Pengujian penerimaan mencakup segala aspek produk yang penting bagi konsumen untuk diuji sebelum menerima perangkat lunak (yaitu, apa pun yang sepadan dengan waktu atau uang yang diperlukan untuk mengujinya untuk menentukan penerimaannya).
Perangkat lunak dapat lulus pengujian fungsional, pengujian integrasi, dan pengujian sistem; hanya gagal dalam tes penerimaan ketika pelanggan menemukan bahwa fitur tidak memenuhi kebutuhan mereka. Ini biasanya menyiratkan bahwa seseorang mengacaukan spesifikasi. Perangkat lunak juga dapat gagal beberapa tes fungsional, tetapi lulus pengujian penerimaan karena pelanggan bersedia untuk berurusan dengan beberapa bug fungsional selama perangkat lunak melakukan hal-hal inti yang mereka butuhkan dengan baik (perangkat lunak beta akan sering diterima oleh sekelompok pengguna sebelumnya sepenuhnya fungsional).
sumber
Pengujian fungsional: Penerapan data uji yang berasal dari persyaratan fungsional yang ditentukan tanpa memperhatikan struktur program akhir. Juga dikenal sebagai pengujian kotak hitam.
Pengujian Penerimaan: Pengujian formal dilakukan untuk menentukan apakah suatu sistem memenuhi kriteria penerimaannya atau tidak — memungkinkan pengguna akhir menentukan apakah menerima sistem atau tidak.
sumber
Dalam pandangan saya perbedaan utama adalah siapa yang mengatakan apakah tes berhasil atau gagal.
Tes fungsional menguji bahwa sistem memenuhi persyaratan yang telah ditentukan. Itu dilakukan dan diperiksa oleh orang yang bertanggung jawab untuk mengembangkan sistem.
Tes penerimaan ditandatangani oleh pengguna. Idealnya para pengguna akan mengatakan apa yang ingin mereka uji tetapi dalam praktiknya kemungkinan akan menjadi matahari terbenam dari tes fungsional karena pengguna tidak menginvestasikan waktu yang cukup. Perhatikan bahwa pandangan ini berasal dari pengguna bisnis yang saya tangani dengan kelompok pengguna lain misalnya penerbangan dan masalah keselamatan lainnya mungkin tidak memiliki perbedaan ini,
sumber
Pengujian penerimaan :
Meskipun demikian selanjutnya dikatakan:
dengan tanda "rujukan?"
Pengujian fungsional (yang sebenarnya diarahkan ke Pengujian Sistem):
Jadi dari definisi ini mereka hampir sama.
Dalam pengalaman saya, tes penerimaan biasanya merupakan bagian dari tes fungsional dan digunakan dalam proses keluar resmi oleh pelanggan sedangkan tes fungsional / sistem akan dilakukan oleh departemen pengembang / QA.
sumber
Hubungan antara keduanya: Tes penerimaan biasanya mencakup pengujian fungsional, tetapi mungkin mencakup tes tambahan. Misalnya memeriksa persyaratan pelabelan / dokumentasi.
Pengujian fungsional adalah ketika produk yang diuji ditempatkan ke dalam lingkungan pengujian yang dapat menghasilkan beragam stimulasi (dalam lingkup pengujian) apa yang biasanya dihasilkan atau bahkan dilampaui oleh lingkungan target, sambil memeriksa respons perangkat yang sedang diuji.
Untuk produk fisik (bukan perangkat lunak) ada dua jenis utama tes Penerimaan : tes desain dan tes manufaktur. Tes desain biasanya menggunakan sejumlah besar sampel produk, yang telah lulus uji manufaktur. Konsumen yang berbeda dapat menguji desain dengan cara yang berbeda.
Tes penerimaan disebut sebagai verifikasi ketika desain diuji terhadap spesifikasi produk, dan tes penerimaan disebut sebagai validasi, ketika produk ditempatkan di lingkungan nyata konsumen.
sumber
Pengujian penerimaan hanyalah pengujian yang dilakukan oleh klien, dan mencakup jenis pengujian lain:
Untuk pengujian fungsional vs pengujian non-fungsional (subtipe mereka) - lihat jawaban saya untuk pertanyaan SO ini .
sumber
Mereka adalah hal yang sama.
Pengujian penerimaan dilakukan pada sistem yang telah selesai seidentik mungkin dengan lingkungan produksi / penempatan yang sebenarnya sebelum sistem tersebut digunakan atau dikirim.
Anda dapat melakukan pengujian penerimaan dengan cara otomatis, atau secara manual.
sumber