BASIC IDEA IN SOFTWARE PROCESS

18.1 BASIC IDEA IN SOFTWARE PROCESS

The concept of a process plays an important role in today’s software develop- ment. Without a repeatable process, the only repeatable results you are likely to produce are errors [1]. In the software engineering context, a process comprises a set of activities that are executed to develop software products. The activities find expressions in the form of methods, techniques, strategies, procedures, and prac- tices. Those activities heavily rely on information repositories such as documents, standards, and policies. Different processes are driven by different goals and avail- ability of resources. The concept of a process is applied not just to develop source code, but to other software-related products, such as a project plan, requirements document, design document, and user manual, as well. It is effective to follow a defined process because of the following benefits:

• The process can be repeated in subsequent projects. • The process can be evaluated by using a variety of metrics, such as cost,

quality, and time to deliver a product. • Actions can be taken to improve the process to achieve better results.

A process for software development consists of several different processes for its different component tasks. For example, gathering the requirements of a system, constructing a functional specification of a system, designing a system, testing a system, and maintaining a system are different tasks to be performed in the life cycle of a software system. Those different tasks, which are quite different from each

Software Testing and Quality Assurance: Theory and Practice , Edited by Kshirasagar Naik and Priyadarshi Tripathy Copyright © 2008 John Wiley & Sons, Inc.

547 other, need different processes to be followed. A requirements gathering process is

18.1 BASIC IDEA IN SOFTWARE PROCESS

fundamentally different from a testing process. Similarly, a design process is very different from a testing process. However, some similarities between a maintenance process and a testing process cannot be ruled out because a maintenance task may involve significant changes to the design of the system as well as rigorous testing.

Software testing is treated as a distinct process because it involves a variety of unique activities, techniques, strategies, and policies as explained in the following:

• Testing is performed to achieve the following objectives: Reveal defects in software products

Show the extent to which a software system possesses different quality attributes, such as reliability, performance, stability, and scalability

• Testing begins almost at the same time as a project is conceptualized, and it lasts as long as the system is in existence.

• Testing is carried out by people with differing responsibilities in differ- ent phases of software development. Those different levels of testing are commonly known as unit testing, integration testing, system testing, and acceptance testing.

A number of techniques can be applied at each level of testing for gener- ating test cases.

A number of different testing strategies can be applied at different levels of testing.

A number of metrics can be monitored to gauge the progress of testing.

A number of metrics can be monitored to accurately reflect the different quality levels of a system.

• Testing is influenced by organizational policies, such as the level of quality to be achieved in a product, the fraction of the total budget for a project to be allocated to testing, and the duration of testing.

• Testing can be performed in a combination of manual and automated modes of execution of test cases.

To be able to improve a defined process, organizations need to evaluate its capabilities and limitations. For example, the capability maturity model (CMM), developed by the Software Engineering Institute (SEI) at Carnegie Mellon Univer- sity, allows an organization to evaluate its software development processes. The model supports incremental process improvement. For an organization, it is more practical to develop a continuously improving process than find one which is “just right.” By recognizing the importance of testing as a distinct process—much differ- ent from an overall process for software development—a separate model, known as a testing maturity model (TMM), has been developed to evaluate a testing pro- cess. In addition, for an organization to be able to improve its testing process, the test process improvement (TPI) model has been developed.

548 CHAPTER 18 MATURITY MODELS

Dokumen yang terkait

ANALISIS DANA PIHAK KETIGA PADA PERBANKAN SYARIAH DI INDONESIA PERIODE TRIWULAN I 2002 – TRIWULAN IV 2007

40 502 17

ANALISIS KEMAMPUAN SISWA SMP DALAM MENYELESAIKAN SOAL PISA KONTEN SHAPE AND SPACE BERDASARKAN MODEL RASCH

69 778 11

Analisis Komparasi Internet Financial Local Government Reporting Pada Website Resmi Kabupaten dan Kota di Jawa Timur The Comparison Analysis of Internet Financial Local Government Reporting on Official Website of Regency and City in East Java

19 819 7

STUDI PENJADWALAN DAN RENCANA ANGGARAN BIAYA (RAB) PADA PROYEK PEMBANGUNAN PUSAT PERDAGANGAN CIREBON RAYA (PPCR) CIREBON – JAWA BARAT

34 235 1

PENGARUH PENGGUNAAN BLACKBERRY MESSENGER TERHADAP PERUBAHAN PERILAKU MAHASISWA DALAM INTERAKSI SOSIAL (Studi Pada Mahasiswa Jurusan Ilmu Komunikasi Angkatan 2008 Universitas Muhammadiyah Malang)

127 505 26

AN ANALYSIS OF DESCRIPTIVE TEXT WRITING COMPOSED BY THE HIGH AND THE LOW ACHIEVERS OF THE EIGHTH GRADE STUDENTS OF SMPN SUKORAMBI JEMBER

11 83 16

AN ANALYSIS OF LANGUAGE CONTENT IN THE SYLLABUS FOR ESP COURSE USING ESP APPROACH THE SECRETARY AND MANAGEMENT PROGRAM BUSINESS TRAINING CENTER (BTC) JEMBER IN ACADEMIC YEAR OF 2000 2001

3 95 76

A DISCOURSE ANALYSIS ON “SPA: REGAIN BALANCE OF YOUR INNER AND OUTER BEAUTY” IN THE JAKARTA POST ON 4 MARCH 2011

9 161 13

Improving the Eighth Year Students' Tense Achievement and Active Participation by Giving Positive Reinforcement at SMPN 1 Silo in the 2013/2014 Academic Year

7 202 3

THE INTEGRATION BETWEEN INDONESIA AND WORLD RICE MARKET

1 88 12