02 tis creating an environmentsupportive of software testing
TRANSCRIPT
LOGO
Creating an EnvironmentSupportive of
Software Testing
Rini Astuti / ITHB 2014
04/13/2023 01:56 PM 2
Topics
management’s role in creating an environment conducive to software testing by addressing the following topics : Management’s risk appetite for ineffective software The role management assigns to testing The policy for testing The type of support management provides for
software testing The resources allocated for testing The processes and tools that will be used for
testing
04/13/2023 01:56 PM 3
Closing the customer dissatisfaction gap
04/13/2023 01:56 PM 4
Risks Associated with Implementing Specifications
Banyak risiko yang, jika tidak dikontrol dengan baik, akan mengakibatkan kekurangan, tidak lengkap, spesifikasi tdk akurat. Faktor risiko yang dapat menyebabkan spesifikasi tidak diterapkan sebagaimana ditentukan meliputi: Inadequate schedule and budget. If the testers do not have
adequate time or resources, they will not be able to test all the implemented specifications.
Inadequate test processes. If the test processes are defective, the testers will create defects as they conduct testing. Thus, even though they have performed the process as specified, they will not be able to accomplish the tasks those test processes were designed to achieve.
Inadequate competency. Testers who do not know the basics of testing, who do not know how to use the test processes provided them, and who are inade- quately trained in the use of testing tools and techniques will not be able to accomplish test objectives.
04/13/2023 01:56 PM 5
Faulty Software Design
Designing software with incomplete or erroneous decision-making criteria.
Failing to program the software as intended by the customer (user) or designer.
Omitting needed edit checks for determining completeness of output data
04/13/2023 01:56 PM 6
Data Problems
Incomplete data.Incorrect dataObsolete data
04/13/2023 01:56 PM 7
Risks Associated with Not Meeting Customer Needs
Memenuhi kebutuhan pelanggan harus dibedakan dari didokumentasikannya spesifikasi perangkat lunak.
Faktor uji/test factors menjadi salah satu cara untuk menilai spesifikasi kebutuhan sistem.
04/13/2023 01:56 PM 8
test factors-1-2
disebut juga sebagai faktor kualitas atau atribut kualitas perangkat lunak/PL.
faktor uji dapat menjadi risiko PL.Jenis faktor uji :
1. Correctness. Assurance that the data entered, processed, and outputted by the application system is accurate and complete
2. File integrity. Assurance that the data entered into the application system will be returned unaltered. The file integrity procedures ensure that the right file is used and that the data on the file and the sequence in which the data is stored and retrieved is correct.
04/13/2023 01:56 PM 9
test factors-3-4
3. Authorization. Assurance that data is processed in accordance with the intents of management.
4. Audit trail. Proses menyimpan materi bukti pendukung sering disebut audit trail. Kemampuan untuk mendukung pengolahan yang telah terjadi. Pengolahan data juga dapat didukung melalui retensi materi bukti yang cukup untuk membuktikan akurasi, kelengkapan, ketepatan waktu, dan otorisasi data.
04/13/2023 01:56 PM 10
test factors-5
5. Kontinuitas proses . Kemampuan untuk mempertahankan pengolahan ketika terjadi peristiwa bermasalah . Kontinuitas proses memastikan bahwa
prosedur yang diperlukan dan informasi cadangan tersedia untuk memulihkan kesalahan operasi yang harus integritas.
Kontinuitas proses meliputi ketepatan waktu operasi pemulihan dan kemampuan untuk mempertahankan periode pengolahan saat komputer bisa dioperasi .
04/13/2023 01:56 PM 11
test factors-6
6. Tingkat layanan . Jaminan bahwa hasil yang diinginkan akan tersedia dalam waktu yang dapat diterima bagi pengguna. Untuk mencapai tingkat layanan yang
diinginkan , maka perlu untuk menyesuaikan kebutuhan pengguna dengan sumber daya yang tersedia . Sumber daya, mencakupkemampuan input / output , fasilitas komunikasi , pengolahan , dan sistemkapabilitas perangkat lunak .
04/13/2023 01:56 PM 12
test factors-7-8
7. Kontrol akses . Jaminan bahwa sumber daya sistem aplikasi akan dilindungi terhadap modifikasi yang disengaja dan tidak disengaja , perusakan , penyalahgunaan, danpengungkapan.
8. Compliance/Kepatuhan. Jaminan bahwa sistem ini dirancang sesuai dengan strategi organisasi , kebijakan , prosedur , dan standar .
04/13/2023 01:56 PM 13
test factors-9-10-11
9. Reliability. Assurance that the application will perform its intended function with the required precision over an extended period of time.
10.Ease of use. Tingkat usaha yang dibutuhkan untuk mempelajari , mengoperasikan, menyiapkan masukan , dan menginterpretasikan output dari sistem.
11.Maintainability. Upaya yang diperlukan untuk menemukan dan memperbaiki kesalahan dalam operasionalsistem .
04/13/2023 01:56 PM 14
test factors-12 s.d15
12. Portability. Upaya yang diperlukan untuk mentransfer program dari satu konfigurasi hardware dan / atau lingkungan sistem perangkat lunak yang lain . Upaya ini mencakup konversi data , perubahan program , sistem operasi , dan dokumentasi perubahan .
13. Coupling. Upaya yang diperlukan untuk interkoneksi komponen dalam aplikasi sistem dan dengan semua sistem aplikasi lain dalam lingkungan pengolahannya
14. Performance. Jumlah sumber daya komputasi dan kebutuhan kode sistem untuk melakukan fungsi yang ditetapkan. Meliputi manual dansegmen otomatis yang terlibat dalam pemenuhan fungsi-fungsi sistem
15. Ease of operation. The amount of effort required to integrate the system into the operating environment and then to operate the application system. The procedures can be both manual and automated.
04/13/2023 01:56 PM 15
Developing a Role for Software Testers
Peran tambahan yang diberikan untuk penguji perangkat lunak adalah sebagai berikut:
1. Testing for all or part of the test factors
2. Ensuring that the documented specifications meet the true needs of the customer
3. Improving the software testing process
4. Improving the developmental test process
5. Participating in acceptance testing
6. Recommending changes to the software system
7. Evaluating the adequacy of the system of controls within the software system.
04/13/2023 01:56 PM 16
Writing a Policy for Software Testing
TujuanKebijakan pengujian perangkat :
1. Pertama, Sebagai dasar untuk mendefinisikan apa cakupan penguji perangkat lunak dalam proses pengujian.
2. Kedua, menjelaskan kepada pihak luar, seperti manajemen organisasi, pelanggan dan pengguna TI, serta personil proyek, peran dan tanggung jawab pengujian perangkat lunak.
04/13/2023 01:56 PM 17
Criteria for a Testing Policy
1. Definition of testing. A brief but clear definition of testing.
2. Testing system. The method through which testing will be achieved and enforced.
3. Evaluation. How information services management will measure and evaluate testing.
4. Standards. The standards against which testing will be measured.
04/13/2023 01:56 PM 18
Contoh
04/13/2023 01:56 PM 19
Methods for Establishing a Testing Policy
1. Management directive
2. Information services consensus policy
3. Users’ meeting
04/13/2023 01:56 PM 20
Testing process
04/13/2023 01:56 PM 21
SEJARAH SOFTWARE TESTING
Bug
Istilah bug pertama kali digunakan tahun 1947 saat komputer Mark II milik Harvard University mengalami masalah.
Penyebabnya adalah seekor kutu yang mati di antara relay komputer.
Software bugs = hal – hal yang menyebabkan suatu software tidak berjalan dengan baik, yang tidak/belum diketahui sebelumnya.
Jika sudah diketahui penyebabnya disebut error.
Software Bug vs Software Error
Klasifikasi Error : Syntax error : kesalahan penulisan perintah Logical error : kesalahan logika Runtime error : kesalahan saat program dijalankan
SW Error lebih mudah ditelusuri. Umumnya development tools sudah menyediakan alat deteksi
syntax error.
Bug tidak dapat dideteksi oleh development tools. Umumnya bug berupa gabungan dari logical error dan
runtime error
Kasus SW error yang terkenal (1)
Disney's Lion King (1994-1995)Tepat pada hari Natal, Disney
mengeluarkan CDROM game pertamanya “The Lion King Animated Storybook” yang laku keras dipasar.
Tgl 26 Desember, pembeli protes karena game tersebut tidak bisa dijalankan.
Ternyata programmer Disney hanya melakukan testing pada komputer perusahaan dengan spesifikasi khusus yang tidak dimiliki oleh masyarakat umum.
Kasus SW error yang terkenal (2)
Intel Pentium Floating-Point Division Bug (1994) Berapa hasil perhitungan
(4195835 / 3145727) * 3145727 - 4195835 ? Harus tepat nol !! Hasil perhitungan menggunakan prosesor Intel Pentium tidak
menghasilkan nol. Ditemukan oleh Dr. Thomas R. Nicely Argumentasi Intel:
Tester Intel sudah mengetahui sebelum diproduksi Tidak dipublikasikan/diperbaiki karena user tidak akan pernah melakukan perhitungan seperti itu.
28 Agustus 2000, Intel menarik kembali seluruh prosesor Pentium III - 1.13MHz
Kasus SW error yang terkenal (3)
The Y2K (Year 2000) Bug (1974) Software yang dibuat sejak tahun 1974 menggunakan 2 digit
untuk menyimpan tahun. Tujuan :
Menghemat memori & harddisk Meningkatkan kecepatan proses
Asumsi: suatu SW tidak mungkin dipakai sampai 25 tahun. Ternyata masalah ini terlupakan dan menjadi kasus besar pada
tahun 2000. Diperkirakan perusahaan di dunia menghabiskan ratusan milyar
dolar untuk memperbaiki programnya.
Biaya memperbaiki bug
Penting !
Memperbaiki bug tidak selalu identik dengan memperbaiki software/program.
Memperbaiki bug dapat juga dilakukan dengan memberikan catatan pada user manual atau memberikan pelatihan pada user.
Memperbaiki bug bukan bertujuan untuk menghasilkan software yang sempurna
What is defect?
29
Defect is a variance from a undesired product attribute Defect from product specification Variance from customer/user expectation
Categories of defects Wrong - The specification have been implemented
incorrectly (variance from user) Missing - A specified requirement is not built into product
(variance from product specification) Extra - A requirement incorporated into the product that
was not specified (variance from product specification) Defect vs Failure
Defect is incorporated in software system (it can be found within the SW, manuals or documentation) and a flaw
Defect that causes an error in operation is called a failure Defect will turn into failure, the failure will damage the
organization
What is Errors, Mistake,...
30
Some terms Mistake : a human action that produces an
incorrect result Fault: An incorrect step, process, or data
definition in a computer program. The outgrowth of the mistake (potentially leads to failure)
Failure: An incorrect result. The result (manifestation) of the fault (e.g., a crash)
Error: The amount by which the result is incorrect
Mistakes are what people makeFailure are the manifestation of these fault
The Six Essential of Software Testing
31
1. The quality of the test process determine the success of the test effort
2. Prevent defect migration by using early life cycle technique
3. The time for SW testing tools is now4. A real person must take responsibility for
improving the testing process5. Testing is a professional discipline requiring
trained, skilled people6. Cultivate a positive team attitude of creative
destruction
Development and Testing Evolution
32
Common Computer Problem
33
Software Problem Incomplete Design or Erroneous decision-
making criteriaactions have been incorrectinappropriate decision making criteria
Fail to meet customer requirement logic error or programming error
Ommitting needed edit checks for completeness of output data
Data Problems
Incomplete Data Incorrect Data Obsolete Data
34
The Structured Approach To Testing
35
Testing in Life Cycle
36
Verification and Validation
37
Verification is the process of evaluating a system/component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase (IEEE/ANSI)
Validation is the process of evaluating a system/component during or at the end of the development process to determine whether it satisfies specified requirements (IEEE/ANSI)
Basic Forms of Testing
38
Full Testing starts no later than the requirement phase and continues
through acceptance testing Partial Testing
begins any time after functional design has been completed, with less than optimal influence on requirements and functional design
Endgame Testing is highly validation oriented, with no influence on requirements or
functional design Audit-Level Testing
is a barebones audit plans, procedures, and products for adequacy, correctness, and compliance to standards.
Diagrams
39
Computer System Strategic Risk
40
A risk is a condition that can result in a loss A risk is related to the probability of a loss The risk is always exists, although the loss may not occur Risk can not be eliminated, but the impact of the loss can be
reduced The most effective methods to reduce the impact of the loss is
testing Types of strategic risk
Incorrect result, unauthorized transaction, lost of integrity of file, processing can not be reconstructed, lost of continuity of processing, degradation of services for user, security, unreliable result, difficulties to use and operate, unmaintainable program, not portable, not be able to interconnect, unacceptable performance level
Computer System Risk
yg dikumpulkan selama pengembangan &
penginstalan sebuah sistem komputer : Sistem yg sulit digunakan Hasil-hasil sistem tidak dapat dipercaya. Hilangnya integritas file. Sistem tidak dapat melakukan
interkoneksi dengan sistem lainnya.