Silabus dan Pendahuluan Pertemuan 1

  

Matakuliah : M0232/Testing dan Implementasi

Sistem Tahun : 2008

  Silabus dan Pendahuluan Pertemuan 1 Tujuan Instruksional Umum

  • Mahasiswa akan dapat menerangkan peranan tahap pengujian dan tahap implementasi pada rangkaian siklus hidup pengembangan sistem perangkat lunak. (C2)
  • • Mahasiswa akan dapat menghasilkan perencanaan

    pengujian (test plan) suatu proyek pengujian perangkat lunak. (C3)
  • • Mahasiswa akan dapat menyimpulkan hasil proses

    pengujian yang dilakukan. (C6)
  • Mahasiswa akan dapat mendesain laboratorium pengujian. (C6)
  • • Mahasiswa akan dapat menciptakan tim pengujian

    berdasarkan kualifkasi yang dibutuhkan. (C5)

BUKU WAJIB st

  • Black, Rex. (2002). Managing The Testing Process. 2 Ed., Microsoft Press, Redmond, Washington 98052-6399
  • ISBN 0-7356-0584-X

  Referensi Lainnya

  • (lihat SAP)

Topik Bahasan

  1. Pendahuluan & Dasar2 Pengujian Software (Introduction & Ch. 1) – Pert. 1

  2. Kualitas Perangkat Lunak (Ch. 1) – Pert. 2 & 3

  3. Test Plan (Ch. 2) – Pert. 4

4. Test System Architecture, Cases, & Coverage (Ch. 3) – Pert.

  5

  5. The Bug Tracking Databases (Ch. 4) – Pertemuan 6 & 7

  6. Test Tracking Spreadsheet (Ch. 5) – Pert. 8

  7. Managing the Dynamic (Ch. 6) - Pert. 9

  8. Stocking & Managing a Test Lab. (Ch.7) – Pert. 10

  8. Stafng & Managing Test Team (Ch. 8) – Pert. 11 9. Organizational Challenges for Test Manager (Ch. 9) – Pert.

  12

  10. Distributing a Test Project (Ch. 10) – Pert. 13

  

PENDAHULUAN

TIK

  • Mahasiswa akan dapat mendefnisikan pengertian pengujian dan implementasi perangkat lunak. (C1) TIK-1
  • Mahasiswa akan dapat menerangkan peranan tahap pengujian dan implementasi dalam siklus hidup pengembangan sistem perangkat lunak. (C2) TIK-2
  • Mahasiswa akan dapat menjelaskan pentingnya pengelolaan proses pengujian. (C2) TIK-3
  • Mahasiswa akan dapat menyebutkan sumber daya dan alat-alat bantu yang diperlukan untuk mengelola dan melaksanakan proses pengujian. (C1) TIK-4
  • • Mahasiswa akan dapat menjelaskan strategi pengujian (test

  granularity) yang akan menentukan kedalaman tingkat fokus pengujian. (C2) TIK-5

  • Mahasiswa akan dapat menguraikan fase tingkatan pengujian. (C2) TIK-6

  

Pengujian Perangkat Lunak

  (Software Testing)

  

Pengujian (Testing)

  • Pengujian perangkat lunak (Software testing) adalah proses untuk mengukur kualitas dari perangkat lunak yang dikembangkan.
  • Kualitas perangkat lunak (software quality) mengukur seberapa baik sistem perangkat lunak dirancang (quality of design), dan tingkat kesesuaian perangkat lunak dengan rancangan yang telah dibuat (quality of conformance).
  • Standar internasional yang digunakan untuk mengevaluasi kualitas perangkat lunak adalah

  ISO 9126 yang mendefnisikan karakteristik perangkat lunak yang berkualitas.

  

Why test software?

“Software bugs, or errors... ...cost the

U.S. economy an estimated $59.5 billion annually...more than a third of these costs, or an estimated $22.2 billion ... could be eliminated by an

improved testing ...”

NIST (National Institute of Standards and Technology), 2002

Why fnd bugs in software early?

  

A software defect left unfixed until

late in the development cycle costs 80 to 1000 times more to fix than it would if it was dealt with earlier Gartner Inc.

  Purpose of software testing

  • ”Software Testing is the process of executing a program or system with the intent of fnding errors” * or
  • ”Any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results” **
    • ** William Hetzel, The Complete Guide to Software Testing * Glenford Myers, The art of software testing

    When to stop testing?

    • Complete testing of a system is generally unfeasible (too expensive)
    • Testing normally stops:
      • – when resources are exhausted or
      • – when the software meets the requirements or
      • – when the beneft of continued testing cannot justify the added testing costs

    • So, how do we know this?

      

    Implementasi Perangkat Lunak

      (System Implementation) System Implementation

    • System Implementation or Adoption deals with the transfer (conversion) between an old system to a target system in an organization. So if a company works with an old software system, it may want to use a new system which is more efcient, has more work capacity etc. So then a new system needs to be adopted, where after it can be used.

      

    Tahap Pengujian & Implementasi

    dalam Siklus Hidup Pengembangan

    Sistem

      (Testing & Implementation Phases in

      SDLC) Traditional SDLC (1) Systems Investigation

      An eight-stage (2) Systems Analysis systems development life

      (3) Systems Design cycle (SDLC)

      (4) Programming (5) Testing (6) Implementation (7) Operation

      (8) Maintenance Go Back to a previous Stage or Stop 17 Testing & Implementation Phases in SDLC

    • Testing (Pengujian)
      • – Checks to see if the information system will produce the

      expected and desired results under certain conditions

    • Implementation (Implementasi)
      • – The process of converting from the old system to the new

        system
      • – Four major conversion strategies

    • Parallel conversion : the old and new systems operate

      simultaneously for a period of time

    • Direct conversion : the old system is cut of and the new

      systems is turned on at a certain point in time

    • Pilot conversion : introduces the new system in one part of

      the organization

    • Phased conversion : introduces components of the new

      system in stages Purpose of test management

    • To devise and apply an efective and economic

      test strategy

    • Key elements:
      • – Test planning
      • – Test specifcations
      • – Test execution
      • – Test monitoring and reporting
      • – System evaluation

      The Tools You Need meramalkan dan menghindari

    • A thorough test plan: masalah yg potensial.
    • A well-engineered test system
    • A state-based bug tracking database
    • A comprehensive test tracking spreadsheet
    • A simple change management database Diperlukan untuk pengelolaan proses pengujian.

    The Resources You Need

    • A practical test lab
    • Test Engineers and Technician • Contractors and Consultants • External test Labs and Vendors Diperlukan untuk menjalankan proses pengujian.

    Dasar Sistem Pengujian

    • Suatu pengujian yang akan dilakukan harus mempunyai fokus yang jelas.
    • Ada 3 pertanyaan yang harus dijawab sebelum melakukan suatu pengujian:
      • – What you might test ?
      • – What you should test ?
      • – What you can test ?

      >Jawaban -> membantu menentukan fokus pengujian yang dilakukan.
    • Fokus pengujian yang jelas akan menentukan kualitas dari sistem yang diuji.

      Usaha Pengujian yang Diperluas (The Extended Test Efort)

      

    Usaha Pengujian yang Diperluas

    • Dalam suatu proyek pengembangan perangkat keras maupun perangkat lunak, sudah banyak proses pengujian yang dilakukan di luar organisasi.
    • Ada 2 pandangan yang digunakan untuk menilai bagaimana kelompok diluar organisasi pengujian formal berkontribusi pada suatu proses pengujian:

      1. Test Granularity : level of focus of a test

      

    2. Test Phases : Jenis pengujian yg dilakukan

    dalam berbagai macam tahapan pengujian.

    Test Granularity

    • Refers to the fneness or coarseness of a test’s focus
    • • Can be thought of as running along a spectrum ranging

      from structural to behavioural test

      Structural Test

    • Structural test fnd bugs in low level operations such as those that occur down at the levels of lines of code, database schemas, chips, subassemblies, and interfaces.
    • Structural tests are based on

      how a system

      operates

    Who did the structural test?

    • Expert Programmers can be good structural testing
    • Testers develop most structural test by looking at the code and data structures

      

    Behavioural Test

    • Behavioural tests are often used to fnd bugs in high-level operations, at the level of features, operational profles, and customer scenarios
    • They are functional tests based on

      what a system should do

    • Behavioral testing involves a detailed understanding of the application domain, the business problem being solved, and the mission the system serves

    Who did the behavioral test?

    • Testers who understand the design of the system, at least at a high level, so that they can efectively fnd bugs common to that type of design.
    • In addition to understand some of the technological issues surrounding the system under test, behavioral testers must understand the special behavioral test techniques that are most efective at fnding such bugs

      What is Good Behavioral Test?

    • Structured • Methodical • Often repeatable sequences of tester-created conditions

      Behavioral testing is the primary test technique for most independent test organizations

    Live Testing

    • Live Test involve putting customers, content experts, early adopters and other end users in front of the system
    • In some cases, we encourage the testers to try to break the system
    • Well-known form: Beta Testing

      Test Phases

    • Unit Testing • Component or Subsystem Testing • Integration or Product Testing • String Testing • System Testing • Acceptance or User Acceptance Testing • Pilot Testing

    Beneft of Phased Test Approach

    • Structural Testing can build product stability
    • • Structural testing using scafolding or stubs can start early

    • You can detect bugs earlier and more efciently
    • You can gather better metrics and use best-practice techniques in your testing efort
    • • Phases provide real and psychological milestones against

      which you can gauge the "doneness" of testing and thus the project

      

    Test Phase Sequencing