Software Development Life
Cycle
Ø Requirement (gathering & analysis)
Ø Design (HLD, LLD)
Ø Develop (Code)
Ø Test (Validate)
Ø Deploy (Implement)
Ø Support (Maintain)
Requirements
Types of requirements
•
Functional Requirements
•
Data flow diagrams
•
Entity-relationship diagrams
•
State transition diagrams
•
Data Dictionary
• System parameters
Ø Security,
integrity, performance, reliability
•
External Interfaces
• Acceptance Criteria
Ø Validation
and Performance criteria
Design
High Level:
•
Functional Design
•
Activity Flows / Work Flows
•
System Flows and Application Flows
•
Logical Data Model
•
Program Inventory
• Architectural Diagrams
Low Level:
•
Program Specs - Database Design
•
Architectural diagrams - Data Access Design
• Interface design - Class
Specifications
Build
(Code)
Ø Environment Setup
Ø Test Data Creation
Ø Coding
Testing
•
Test plans
• Test specifications
Ø Test
cases + Test data + Expected Results
•
Testing
• Test Results
Implement
Ø Data Conversion
Ø Data Migration
Ø Database Creation
Ø Production Tests
Ø Contingency Planning
Ø User
Training
Support
Ø Production Support
Ø Enhancements
Myths of
SDLC
»Once the program
is written and working, job is done.
»Until I get the
program running, I have no way of assessing its quality.
SDLC Models
Waterfall Model
The waterfall model is a sequential software development model (a process for the creation of software) in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, design, implementation, testing (validation), integration, and maintenance.
V Model
V model is the software development model which encapsulates the steps in Verification and Validation phases for each step in the SDLC. For each phase, the subsequent phase becomes the verification (QA) phase and the corresponding testing phase in the other arm of the V becomes the validating (Testing) phase
Iterative Development Models
Prescribes the construction of initially small but ever larger portions of a software project to help all those involved to uncover important issues early before problems or faulty assumptions can lead to disaster.
Example: RUP, RAD, Prototyping, Agile
Testing within each lifecycle
In any life cycle model, there are several characteristics of good testing:
- For every development activity there is a corresponding testing activity.
- Each test level has test objectives specific to that level.
- The analysis and design of tests for a given test level should begin during the corresponding development activity.
- Testers should be involved in reviewing documents as soon as drafts are available in the development life cycle.
What is Quality?
Quality is the totality of features and characteristics of a product or service that bear on its ability to satisfy stated and implied needs.
Software Quality means: Total conformance to user requirements and specifications. Absence of Defects Fitness of Use.
Other definitions
Errors: Mistakes we make.
Defects: Defects are the results of errors.
Failures: Software failures are the results of Defects - observed while running the software
Quality Assurance vs Quality Control
Quality Assurance
1.Ensures that the product is developed correctly
2.Prevention activity
3.Eg. Process definition, planning
4.Done at the beginning of project
Quality Control
1.Ensures that the product developed is correct
2.Detection and correction activity
3.Eg. Reviews and Testing
4.Carried out after initiation
Importance of QA/QC
“All QC/QA activities are important, because all lead to quality software, if practiced correctly. However, if you allow me to choose one only, my choice is Formal Technical Reviews. If conducted properly, they are the single-most effective ways to uncover and fix defects while they are still inexpensive to find and fix.”
Roger Pressman
What is V&V?
Verification.
- Determine whether the artifacts of each phase of SDLC fulfill the requirements of the previous phase.
- Are we building the product correctly?
- Also called as static technique or Review
- Determine whether the artifacts of each phase of the SDLC are in tune with the customer requirements.
- Are we building the correct product?
- Also called as dynamic technique or Testing
Static and Dynamic V&V
Static and Dynamic techniques.
Why V&V?
- V&V is required because:
- Software construction is a complex task.
- Software construction is a Human activity. Humans make mistakes.
- Discipline and Methodology for construction reduce mistakes but cannot eliminate mistakes.
- V&V is about evaluating the products and processes used for producing the products.
- V&V is NOT about evaluating the producers.
Types of V&V
Reviews:
- Project Plans, Schedules, and Costs
- Requirements, Functional Specifications, and Design
- Test Plans, Test Specifications, Test Scripts,
- Source Code
Testing of Software:
- Unit
- Integration
- System Customer Acceptance
6 comments:
1movies.futbol
These provided information was really so nice,thanks for giving that post and the more skills to develop after refer that post.
Software Testing Services
Software Testing Services in India
Software Testing Companies in India
QA Testing Services in India
QA Testing Companies In India
QA Testing Services
Software Testing Services in Dubai
Software Testing Companies in Dubai
Software Testing Services in USA
Software Testing Companies in USA
Software Testing Companies
Thank you because you have been willing to share information with us. we will always appreciate all you have done here because I know you are very concerned with our.
Software Testing Services
Software Testing Services in India
Software Testing Companies in India
Software Testing Services in USA
Software Testing Companies in USA
Software Testing Companies
Software Testing Services Company
Independent Software Testing Services
Thank you for your post. This is useful information.
Here we provide our special one's.
business analyst course in USA
business analyst training in USA
business analyst training in India
software engineering process models
best software engineering process in newyork
business analyst in software development life cycle
business analyst certification in usa
great post. Thanks for sharing.
The Software Development Life Cycle (SDLC) refers to a methodology with clearly defined processes for creating high-quality software.
We are an experienced team in one of the Best software company and product specialist for software development and implementation. Sovereign provides Website Design, Wordpress Development and Mobile App Development, Digital marketing and SEO Services.
Web development
SDLC
osb training
azure devops training
scala training
Post a Comment