Tit Wroksh0p Slc For Sd & Qc

59
1 SLC Process for SLC Process for Software Development Software Development & Quality Control & Quality Control

description

This presentation I used in Maulana Bhashani IT University, Tangail, Bangladesh. Its all about SLC, Software development in brief and how Quality Control incorporate with all these.

Transcript of Tit Wroksh0p Slc For Sd & Qc

Page 1: Tit Wroksh0p Slc For Sd & Qc

1

SLC Process for SLC Process for Software DevelopmentSoftware Development& Quality Control& Quality Control

Page 2: Tit Wroksh0p Slc For Sd & Qc

2

Md. Shaiful Islam

B.Sc. in Computer Science

University of Chennai, India.

Training: Certified Software Test

Professional (CSTP)

Experience: 4 years in Software Testing

Page 3: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

3

• Software Lifecycle Models

• SLC Process in Industry

• Quality Control

• Q & A

Page 4: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

4

• Waterfall or Linear Sequential

• Rapid Application Development

• Incremental

• Prototyping

• Spiral

• Joint Application Development

• Rational Unified Process

• Agile Software Development

Page 5: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

5

System FeasibilitySystem Feasibility

System Planning & Requirement AnalysisSystem Planning &

Requirement Analysis

System DesignSystem Design

CodingCoding

IntegrationIntegration

ImplementationImplementation

Operation & MaintenanceOperation & Maintenance

Page 6: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

6

Business ModellingBusiness Modelling

Data Modelling

Data Modelling

Process ModellingProcess

Modelling

Application Module Generation

Application Module Generation

Testing & Delivery

Testing & Delivery

Business ModellingBusiness Modelling

Data Modelling

Data Modelling

Process ModellingProcess

Modelling

Application Module Generation

Application Module Generation

Testing & Delivery

Testing & Delivery

Team #1Team #1 Team #2Team #2

Page 7: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

7

AnalysisAnalysis DesignDesign CodingCoding TestingTesting Delivery of 1st

incrementDelivery of 1st

increment

Increment 1Increment 1

AnalysisAnalysis DesignDesign CodingCoding TestingTesting Delivery of 2nd

incrementDelivery of 2nd

increment

Increment 2Increment 2

AnalysisAnalysis DesignDesign CodingCoding TestingTesting Delivery of 3rd increment

Delivery of 3rd increment

Increment 3Increment 3

Page 8: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

8

• Requirements are development in a series of iteration

• Discussion with client regarding overall system objectives

• Identify requirements

• Conceptual or Gross Design

• Develop Prototype

• Obtain feedback

• Refine requirements

Page 9: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

9

• More of a project management strategy

and approach;

• Development team, customer management

and user group work together;

• Any lifecycle model is used;

• Lifecycle activities may differ;

Page 10: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

10

Bespoke Software Development

Bespoke Software Development

SLC Process for Software Development

SLC Process for Software Development

Enhancement of Existing Software (Large/ Medium)Enhancement of Existing Software (Large/ Medium)

System AnalysisSystem Analysis

System DesignSystem Design

Prepare System SpecificationPrepare System Specification

DesignDesign

Coding/ ConstructionCoding/ Construction

TestingTesting

Coding/ ConstructionCoding/ Construction

TestingTesting

ImplementationImplementation

Maintenance (During Warranty Period)Maintenance (During Warranty Period)Implementation & AcceptanceImplementation & Acceptance

Page 11: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

11

• Template followed, either SSADM or OOAD;

• 4 types of requirements are considered– Customer Requirements;– Product Requirements;– Interface Requirements;– Implementation Requirements.

• Input and output requirements are identified

• Identify acceptance criteria with reference to– Scope– Functionality– Performance– Security

Page 12: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

12

• Draft implementation Plan

• Identify hardware, software and infrastructure requirement

• Review

• Approves and baseline

• Update RTM

Page 13: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

13

• Template followed, either SSADM or OOAD

• Choose effective design methodology and standards

• Prepare Both HLD and LLD

• Product or product component requirements are designed

• Design PI activities;

• Decide on product acquisition type

Page 14: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

14

• Review

• Approve and Baseline

• Update RTM

Page 15: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

15

• Coding is started as per Schedule;

• Done as per SDD and other required input formats;• Coding standard is followed;• Code elements are brought under Configuration

Management at each milestone;• Conduct code review;• Update RTM;• Assemble product components as per design;

Page 16: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

16

• Documentation is done as follows

– Team member prepares manuals;

– Work hand in hand with other member throughout development

lifecycle;

– Documents are reviewed and approved;

– Documents are configuration controlled;

– Final version is verified.

Page 17: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

17

• Done as per QC Plan

• Review and Testing Process and Guidelines for

Review and Testing is followed

• PM keeps record of identified defects

• Test result is reviewed and approved

• Delivery package is prepared

Page 18: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

18

Software Testing & Quality Control

• Testing is a process of evaluating a system by manual or automation means and verify that it satisfies specified requirements or identify difference between expected and actual result.

• Quality provides customer satisfaction for the first time and every time. It is the factor affecting an organizations long term performance and improves productivity and competitiveness.

Page 19: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

19

Why Testing?

• Software testing is important as it may cause mission failure, impact on operational performance and reliability if not done properly.

• Deliver quality software products, satisfy user requirements, needs and expectation.

• Uncover defects before the products install in production, it can save a huge loss.

Page 20: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

20

Participants in Testing

• Software Customer• Software User• Software Developer• Tester• Information Service Management• Senior Organization Management

Page 21: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

21

Recent Major Computer System Failures

According to news reports in April’04 a software bug was determined to be a major contribution to the 2003 Northeast blackout, the worst power system failure in North American history. The failure involved loss of electrical power to 50 million customers, forced shutdown of 100 power plants, and economic losses estimated at $6 billion. The bug was reportedly in one utility company’s vendor_supplied power monitoring and management systems, which was unable to correctly handle and report on an unusual confluence of initially localized events. The error was found and corrected after examining million of lines of code.

Page 22: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

22

Software Development Life Cycle

• Requirement- SRS (Software Requirement Specification)SRAS (Software Requirement & Analysis Specification)FS (Functional Specification)

• Design- HLD (High Level Design)LLD (Low Level Design)

• Coding- According to code format• Testing• Implementation• Maintenance

Page 23: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

23

Write Requirement Acceptance Test

Logical Design

Physical Design

Code

Test Requirement

Test Design

Test Design

Unit Test

Build Software Integration Test

System Test

Install

Build System

w-Model

Page 24: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

24

Testing Economic & CostContinuous Test

Accumulated Test Cost

Accumulated Error Remaining

Development Cycle

Accumulated Error Remaining

Accumulated Test Cost

$5820Production0$1690

$1824Testing12$480

$4218Code600

$2515Design400

$1010Requirement200

Traditional Test

Page 25: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

25

Testing Type• Static (Review)• Dynamic (Execution)Static: • Only review not execution of the programDynamic:• Structural (logic, white box testing, developer)• Functional (no logic, black box testing, tester)

Page 26: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

26

Structural Testing

• Concerned with testing the implementation of the program

• Focus on the internal structure of the program• The intention of structural testing is not to be

exercise all the different I/P or O/P condition but to exercise the different programming structure and the data structure of the program

Page 27: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

27

Functional Testing• Structure of the program is not considered• Test cases are decided base on the

requirements or specification of the program or module

• Hence it is called “Black Box” testing

Page 28: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

28

Some DefinitionWhat is Test Plan?• Road map for the entire testing activity

What are Test Cases?• Set of procedures which we execute in our system to find

defects

What is Defects?• A defect is a variance from a desired product attributes• Variance from customer/user expectation

Page 29: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

29

Primary Role of Software Testing

• Determine whether the system meets specification (Producer View)

• Determine whether the system meets business and user needs (Customer View)

Role of Tester: Find defect not correcting the defects Classification of Defects:• Wrong (ER! = AR)• Missing (Missing some point)• Extra (Extra point)

Page 30: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

30

Testing Levels

• Unit Testing• Integration Testing• System Testing &• Application Under Test (AUT) or

User Acceptance Test (UAT)

Page 31: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

31

Unit Testing

• LLD• Module Testing• Individually Testing• White Box Testing• Developer job• Test each module individually • Follow White Box Testing (logic of the program)

Page 32: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

32

Integration Testing

• LLD+ HLD (Developer+ Tester)• Communication+ Data Flow• WB+ BB= Gray Box• Integrate two or more module ie.

Communicate between modules• Follow a White Box Testing (testing the

codes)

Page 33: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

33

System Testing

• Confirms that the system as a whole delivers the functionality originally required.

• Follow Black Box Testing• Functionality Testing, Tester job

Page 34: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

34

User Acceptance Testing

• Building the confidence of the client and users is the role of the acceptance testing phase

• It is depend on the business scenario• Red Box Testing (crucial)

Page 35: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

35

Testing Techniques• White Box testing – Statement coverage,

Condition, Decision, Loop, (code coverage analysis)

• Black Box testing• Incremental testing• Thread testing

Page 36: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

36

White Box Testing

• Statement Coverage: Execute all statements at least once

• Decision Coverage: Execute each decision direction at least once

• Condition Coverage: Execute each decision with all possible outcome at least once

Page 37: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

37

Black Box Testing• Equivalence Partitioning• Boundary Analysis• Error Guessing

Page 38: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

38

Equivalence Partitioning• A subset of date that is representative of a larger

class• For example, a program which edits credit limits

within given range ($10000-$15000) would have 3 equivalence classes

a. Less than $10000 (Invalid)b. Between $10000 and $15000 (Valid)c. Greater than $15000 (Invalid)

Page 39: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

39

Boundary Analysis• A technique that consists of developing test cases and data

that focus on the input and output boundaries of a given function

• In the same credit limits example boundary analysis would test:

• Lower Boundary: Plus or minus 1 ($9999 and $10001)• On the Boundary: ($10000 and $15000)• Upper Boundary: Plus or minus 1 (14999 and 15001)

Page 40: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

40

Error Guessing

• Based on the theory that test cases can be developed based on experience of the test engineer

• For example, in an example where one of the I/P is the date, a test engineer might try February 29,2001

• One more example is, according to newspaper reports Microsoft co. losses $100 million only because their programmer has lack of knowledge in geographical knowledge.

Page 41: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

41

Incremental TestingTop down and Bottom up. A disciplined method of testing the interfacesbetween unit-tested programs as well as between system componentsType: Top-down that is HLD

Bottom-up that is LLDTop-down: Begins testing from the top of the module hierarchy and

works down to the bottom using interim stabs to simulate lower interfacing modules or programs

Bottom-up: • Begins testing from the bottom of the hierarchy and works up to the

top• Bottom-up testing is required the development of driver modules

which provide the test I/P, call the module or program being tested, and display test O/P

Page 42: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

42

Thread Testing• A technique often used during early

integration testing• Demonstrate key functional capabilities by

testing a string of units that accomplish a specific function in the application

Page 43: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

43

Criteria of Testing Level

Solve the defectAnytime find defect Regression

Exit Level

Deliver to CustomerImplementation Software

UAT

ER=ARComplete Integration Testing

System Testing

Communication & data flow

Complete Unit Testing

Integration Testing

Logic 100% complete

Base CodeUnit Testing

Entry Level

Page 44: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

44

Special Test Types

Performance:• The time taken to complete task• How performance is measured?

a. Process speedb. Response timec. Efficiency

Page 45: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

45

Performance Test• Load (No. Of users)• Stress (Response time that polling down the

Resource)• It is designed to test the run time

performance of software• It occurs throughout all steps in the testing

process (test levels)

Page 46: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

46

Load· The maximum no of users a system can

support is called “Load”· How large can the database grow before

performance degrades· At what point will more storage space be

required?

Page 47: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

47

Stress• Running the software under less conditions• Low memory, low disk space and so on• Limiting them to their base minimum• Pull down resources

Page 48: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

48

Benefits Realization Test

• It is a test or analysis conducted offer an application is moved into production

• To determine whether the application is likely to deliver the original benefits

• This is conducted by the user or client group who requested the projects

Page 49: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

49

Configuration, Compatibility, Recovery & Regression Test

• This testing is performed finding the various supporting combination of hardware & software

• It is nothing but combination of software itself• It is nothing but a features built into the application for

handling interruption• Returning to the actual points/page in the application• Tester-> 1000-test cases-> 100 defects-> developer->

tester

Page 50: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

50

Roles and Responsibilities

Test Manager: Manages the entire testing activity (approve)

Test Leader: Prepare the test plan, review test cases, monitor defect tracking, and provide resources.

Test Engineer: Prepare test case design (test risk & reports)

Page 51: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

51

Test Environment• Software Requirements• Hardware Requirements• Tools that are needed

Page 52: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

52

Test Case Design (Manual)

• Test Case ID: Sys_xyz_01 (unique)• Test Case Description: A short note about the testing• Test Case Procedure: Each & every step has to be mention in test

case procedure• Test I/P or Test Data: Input data• Expected Result: The expected outcome of test cases (as per

requirements)• Test Execution: What we have received after execution that is actual

result. • Expected Result = Actual Result, the test is pass otherwise it is fail.• Test Log: Test log means how many test cases executed and how

many pass and fail? (Result)

Page 53: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

53

Bug Life Cycle

New (Tester)

Open (Developer)

Fixed (Developer)

Closed (Tester)Or

Reopen (Developer)

Page 54: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

54

Defect TrackingAll the failed test execution/defects will come under the defect trackingDefect Tracking Contains:• Defect ID: Sys_Def_xyz_01• Test Case ID: Sys_xyz_01• Defect Description• Status of Defect• Reproducible• Detected by whom• Assigned to whomReproduce: If developer asks to reproduce any defect tester should

reproduce

Page 55: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

55

PassNot acceptedIt shouldn’t accept

Agent Name<4chars & Password “mercury”

Testing “OK” button04

FailAccepted It shouldn’t accept

Agent Name<4chars & Password “mercury”

Testing “OK” button03

FailNot acceptedIt should accept

Agent Name>4 chars & Password “mercury”

Testing “OK” button02

PassAccepted It should accept

Agent Name>4 chars & Password “mercury”

Testing “OK” button01

StatusARERTest CasesDescriptionID

Test Cases

Page 56: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

56

• Conduct audit before final delivery

• Audit activities are carried out as per QA Process

• Install software in operation environment– Installation certificate is obtained– Installation statistics are recorded

• Acceptance testing are carried out

• User training is provided (if within scope)

• Obtain acceptance certificate– Acceptance note;– Acceptance over phone/fax/email

Page 57: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

57

Technical Groups

• http://tech.groups.yahoo.com/group/dot_net_community/

• http://tech.groups.yahoo.com/group/sqa_bangladesh/

• http://www.sqabd.com

Page 58: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

58

Thank You

Page 59: Tit Wroksh0p Slc For Sd & Qc

0011 0010 1010 1101 0001 0100 1011

59