Download - Titwroksh0pslcforsdqc 090730233058-phpapp01
1
SLC Process for SLC Process for Software DevelopmentSoftware Development& Quality Control& Quality Control
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
0011 0010 1010 1101 0001 0100 1011
3
• Software Lifecycle Models
• SLC Process in Industry
• Quality Control
• Q & A
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
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
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
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
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
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;
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
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
0011 0010 1010 1101 0001 0100 1011
12
• Draft implementation Plan
• Identify hardware, software and infrastructure requirement
• Review
• Approves and baseline
• Update RTM
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
0011 0010 1010 1101 0001 0100 1011
14
• Review
• Approve and Baseline
• Update RTM
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;
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.
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
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.
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.
0011 0010 1010 1101 0001 0100 1011
20
Participants in Testing
• Software Customer• Software User• Software Developer• Tester• Information Service Management• Senior Organization Management
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.
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
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
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
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)
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
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
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
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)
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)
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)
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)
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
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)
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
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
0011 0010 1010 1101 0001 0100 1011
37
Black Box Testing• Equivalence Partitioning• Boundary Analysis• Error Guessing
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)
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)
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.
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
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
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
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
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)
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?
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
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
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
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)
0011 0010 1010 1101 0001 0100 1011
51
Test Environment• Software Requirements• Hardware Requirements• Tools that are needed
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)
0011 0010 1010 1101 0001 0100 1011
53
Bug Life Cycle
New (Tester)
Open (Developer)
Fixed (Developer)
Closed (Tester)Or
Reopen (Developer)
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
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
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
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
0011 0010 1010 1101 0001 0100 1011
58
Thank You
0011 0010 1010 1101 0001 0100 1011
59