a research study on importance of testing and quality assurance in software development life cycle...
DESCRIPTION
A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software Quality Framework for Mobile Application TestingTRANSCRIPT
![Page 1: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/1.jpg)
Software Quality Assurance
Presented By:Arfa SikanderSundas AminSehrish AsifYousra Butt
![Page 2: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/2.jpg)
Paper Title
• A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models
Publication
• International Journal of Soft Computing and Engineering (IJSCE) ISSN: 2231-2307, Volume-2, Issue-3, July 2012
Authors • Maneela Tuteja, Gaurav Dubey
Paper Information
![Page 3: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/3.jpg)
3
Software Testing
![Page 4: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/4.jpg)
4
Software Testing• Encircling variety of activities along the development cycle and beyond,
aimed at different goals.
• Assessing software to determine its quality.
• Its consumes 40-50% development efforts, for high reliability it requires more efforts, it is a part of SE.
• SE is a very broad area, which have many technical and non-technical areas.– Design – Specification– Implementation– Maintenance
![Page 5: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/5.jpg)
5
Software Testing…..• In this paper focus on testing techniques, as well as latest techniques discuss.
• Now a days testing is most challenging and dominating activity using by industry.
• Software Testing trade off between budget, time and quality.
• Testing is single most used approach to ensuring the software quality.
• Purpose of Software testing is Quality Assurance Verification Validation
![Page 6: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/6.jpg)
6
Introduction Software testing is the process of executing a program or system with the
intent of finding errors.
Detecting all of the different failure modes for software is generally infeasible.
Discovering the design defects in software, is equally difficult, for the same reason of complexity.
The iterative process of software testing consists of Designing tests Executing tests Identifying problems. Getting problems fixed
![Page 7: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/7.jpg)
7
Objective of Testing The objective of testing is to find problems and fix them to improve
quality.
Demonstration: It shows that, system can be used for integration with acceptable risk.
Detection: It discovers defects, errors and deficiencies.
Prevention: It provides information to prevent or reduce the number of errors clarify system specifications and performance.
Improving Quality: By doing effective testing, we can minimize errors and hence improve the quality of software.
![Page 8: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/8.jpg)
8
Types of Software Testing There are various types of testing techniques that have been
invented.
There are different testing technique use for different artifacts like designing, coding and planning software requirement specification.
All the testing techniques are divided into mainly three categories: Black Box: which tests external behavior of the system. White Box: which tests internal behavior of the system. Both internal and external behavior are called grey box testing.
![Page 9: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/9.jpg)
9
Software Testing TechniquesBlack box Testing White box Testing Grey box Testing
Functional & system testing.
Unit testing Integration Testing
Stress testing Error handling testing
Performance testing Desk checking
Regression Testing
Usability testing Code walk throughAcceptance Testing Code reviews and
inspectionBeta testing Code coverage testing
Ad hoc Testing Statement/ Path/ Integrati on Testing,
Regression testing Function testing,
Intersystem testing Complexity testing
Parallel testing Mutation testing
Boundary value
![Page 10: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/10.jpg)
10
SDLC & Quality Assurance
![Page 11: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/11.jpg)
11
SDLC & Quality Assurance Software development life cycle is basically a systematic way of
developing software.
It includes various phases starting from the functional requirement than designing takes place then development and then testing.
After testing is finished, the source code is generally released for Unit Acceptance Testing (UAT) in client testing environment.
After approval from client, the source code is released into production environment.
![Page 12: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/12.jpg)
12
Software Development Process Models Software development approaches defined and designed which
are used during development process of software.
Various types of SDLC Models are : Water-fall Model Prototype Model RAD Model V Model
![Page 13: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/13.jpg)
13
The waterfall Model
• The Waterfall" approach, the whole process of software development is divided into separate process phases.
• Waterfall model are: • Requirement Specifications phase• Software Design• Implementation• Testing• Deployment of system • Maintenance
![Page 14: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/14.jpg)
14
The waterfall ModelAdvantages Waterfall model is used where the duration of project is very less,
and it is best suited for small projects. Waterfall model is suitable when the specification and
requirements are clearly stated for the software projects.Disadvantages When a mistake occurs in a particular phase, the same mistakes
gets carried over to the last phase
![Page 15: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/15.jpg)
15
The Prototyping Model
• A prototype is a working model that is functionally equivalent to a component of the product.
• In such a scenario where there is an absence of detailed information regarding the input to the system, the processing needs and the prototyping model may be employed.
![Page 16: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/16.jpg)
16
The Prototyping Model
Advantages With reduced time and costs, Prototyping can improve the
quality of requirements and specifications provided to developers.
Prototyping requires user involvement and allows them to see and interact with a prototype.
Disadvantages Insufficient analysis: The focus on a limited prototype can
distract developers from properly analyzing the complete project.
![Page 17: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/17.jpg)
17
The Spiral Model
• The spiral model, also known as the spiral lifecycle model, is a systems development method (SDM) used in information technology (IT).
• This model of development combines the features of the prototyping model and the waterfall model.
• The spiral model is intended for large, expensive, and complicated projects.
![Page 18: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/18.jpg)
18
The Spiral Model
Advantages Estimates (i.e. budget, schedule, etc.) Become more realistic as
work progresses, because important issues are discovered earlier.
Disadvantages As it is highly customized so there is limiting re-usability. It is applied differently for each application. There is a risk of not meeting budget or schedule.
![Page 19: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/19.jpg)
19
Quality Assurance Quality requires a commitment, particularly from top
management. Quality is frequently associated with cost, meaning that high quality equals high cost.
The aim therefore, is to prevent quality defects or deficiencies in the first place, and to make the products assessable by quality assurance measures.
Quality demands requirement specifications in enough detail that the products produced can be quantitatively measured against those specifications.
The undetected bugs in the software that caused millions of losses to business have necessitated the growth of independent testing, which is performed by a company other than the developers of the system.
![Page 20: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/20.jpg)
20
Quality Assurance…… Quality management decreases production costs because the
sooner a defect is located and corrected, the less costly it will be in the long run.
Total cost of effective quality management is the sum of four following component costs: Prevention costs consist of actions taken to prevent defects
from occurring in the first place. Inspection costs consist of measuring, evaluating, and auditing
products. Inter failure costs are those incurred in fixing defective
products before they are delivered.
![Page 21: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/21.jpg)
PROBLEM STATEMENT
![Page 22: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/22.jpg)
22
Problem Definition
Software development process modelsInclude testing as a single phaseBut required in each phaseError doesn't exist just in syntax Can be in software requirements document,
design document, test plan There exist a lot of testing techniques to find
those error
Now here first problem raises
Which technique will be suitable for
which phase software development life cycle?
By solving this problem
Improvement of quality on each phase will be possible
Full utilization of all testing techniques
![Page 23: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/23.jpg)
23
Problem Definition… Software quality is essential part of software project
Varity of quality assurance and control activities Different quality attributes need different types of testing
Here another problem raises
Which technique for which attribute?
Solution of this problem
help save time and produce quicker results
streamlined testing of project attributes
![Page 24: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/24.jpg)
24
Proposed solution
• V model of testing given by Mr. Perry– extended SDLC– Include more phase
![Page 25: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/25.jpg)
25
Apply Testing on all Phases of SDLC
Experts suggestions Perform testing on each phase Start testing as soon as possible Requirement analysis should be done by only tester
![Page 26: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/26.jpg)
26
Identifying Testing Techniques according to Phase of SDLC
![Page 27: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/27.jpg)
27
Testing plan phase
![Page 28: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/28.jpg)
28
Requirements gathering phase
![Page 29: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/29.jpg)
29
Analysis phase
![Page 30: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/30.jpg)
30
Designing phase
![Page 31: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/31.jpg)
31
Integration phase
![Page 32: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/32.jpg)
32
Implementation phase
![Page 33: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/33.jpg)
33
Coding phase
![Page 34: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/34.jpg)
34
Maintenance phase
![Page 35: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/35.jpg)
35
Testing Technique for Quality Attributes
![Page 36: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/36.jpg)
36
CONCLUSION Testing is necessary on each phase of SDLC There are various types of SDLC (Waterfall Model, RAD Mode,
Iterative Model, Proto Type Model, Spiral Model, V-Model, etc) But all of them start testing after implementation
Through this paper a effort is made to associate testing types with SDLC phases and project attributes
FUTURE WORK In future it will possible to relate new coming testing techniques
with phases of SDLC It will help in taking full advantage of all testing techniques
![Page 37: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/37.jpg)
37
Paper Information
Paper Title• Quality Assurance for Product
Development using Agile
Publication
• 2014 International Conference on Reliability, Optimization and Information Technology - ICROIT 2014, India, Feb 6-8 2014
Authors• Anil Agarwal• NKGarg• Avirag Jain
![Page 38: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/38.jpg)
38
Presentation AgendaTraditional v/s Agile approach
Differences between models
Agile challenges
Agile testing strategies
Agile testing quadrant
Strategies for improving quality
Conclusion
![Page 39: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/39.jpg)
39
Traditional Model
Agile Model
![Page 40: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/40.jpg)
40
TRADITIONAL VS. AGILE
Waterfall: More properly called the
'Traditional‘ approach. It is a linear approach to
software development. It represents a distinct
stage of software development, and each stage generally finishes before the next one can begin.
Agile: It is an iterative, team-
based approach to development.
This approach emphasizes the rapid delivery of an application in complete functional components.
![Page 41: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/41.jpg)
41
TRADITIONAL(Waterfall) VS. AGILE
![Page 42: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/42.jpg)
42
Poses a series of Q
UESTIO
NS
What is Role of QA in Product development using Agile?
Is QA a skill that every developer should possess in Agile model?
Do Agile teams actually need members with QA backgrounds?
What does it really mean to be an Agile tester?
Are we ready to hand over the testing keys to the developers?
![Page 43: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/43.jpg)
HOW AGILE IS DIFFERENTIncremental & iterative development
Greater Collaboration
Responds to changes quickly & efficiently
Requires far greater discipline throughout the development cycle
Testing is done concurrently with implementation
Requires cross-functional teams
Every user story must satisfy the acronym INVEST
43
![Page 44: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/44.jpg)
44
1. Knowledgeable
and Experienced
teams
2. Requires change in Mindset & Approach
3. Communication
and Collaboration
4. Continuous Tracking & Monitoring
5.Continuous integration and release of new
builds
6. Requires change in Mindset & Approach
7.Communication and Collaboration
8. Continuous integration and release of new
builds
CHALLENGES
![Page 45: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/45.jpg)
45
AGILE - TESTING STRATEGIES Involve QA right from the beginning Testing is a key component of agile development Encourage performing Multiple Roles Development and Testing should move in parallel
Take feedback, improve and move ahead Testing throughout the SDLC Inception / Sprint 0 Construction Sprints Transition
Inception / Sprint 0 –
The goal of this phase is to initiate the team and get your team going in the right direction.
Testing/validation activities include beginning to set up testing environment and tools
Potentially reviewing the initial models, plans, and vision or stakeholders goals document.
Inception / Sprint 0
![Page 46: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/46.jpg)
46
Construction Sprints
Goal is to produce morepotentially shippable software.
Agile Team: Testers are embedded in
the development team
Independent Testing Team:support multiple project teams and complex forms of testing which are typically beyond the ability of the "whole team" to perform on their own.
Functional Testing Acceptance Testing Exploratory Testing Scenario Testing System Testing Usability Testing
![Page 47: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/47.jpg)
47
Goal of the Transition phase is tosuccessfully deploy your system into production.
This can be quite complex in practice including:
Training of end users Support p e o p l e a n d operations People communication Marketing of the product release Backup and potential restoration Staged deployment of the system Final translation of the UI and
documentation Finalization of system, user
documentation and so on.
Transition
![Page 48: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/48.jpg)
Transition-TDD
48
If FAIL
![Page 49: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/49.jpg)
49
![Page 50: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/50.jpg)
50
STRATEGIES FOR IMPROVING QUALITY
Bring SQA as a whole in Agile & not just Software testing Involve team members performing multiple roles Development & Testing move in parallel Get continuous feedback from Customers, improve & move ahead Continuous improvement in team competencies
(domain I technology I process) Improve quality of user stories Avoid setting up over ambitious targets Automate as much as possible Keep Test Criteria, Entry & Exit levels Advanced Pair programming (pair QA alongside with Developers)
![Page 51: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/51.jpg)
51
Paper Information
Paper Title• A Software Quality Framework for
Mobile Application Testing
Authors• Yajie Wang, Ming Jiang, Yueming
Wei
Publication
• The Fourth International Conference on Advances in System Testing and Validation Lifecycle. 2012
![Page 52: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/52.jpg)
52
Introduction At present, with the development of wireless networks and the
popularization of mobile devices, mobile applications become more an more popular
With the rapid growth of mobile application market, demands on software quality rises rapidly
Applications are expected to be more quick, responsive and have good user interface experiences
Focus on mobile software quality only form the view of test and validation
![Page 53: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/53.jpg)
Test Framework Architecture
The framework is composed of 4 components:
A mobile devices information system A defect system for mobile applications An aggregation of key test scenarios A mechanism for usability test
![Page 54: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/54.jpg)
CONT….
![Page 55: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/55.jpg)
Mobile Devices Information System Include:
Device database Device real time management system Accessed by the whole team members
![Page 56: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/56.jpg)
Defect System
The defect system for mobile applications is distinguished from an
ordinary defect system
Defines some special type of defects and special attributes of defect
QA testers apply defect system and found defects then make it easy
to be understood
![Page 57: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/57.jpg)
Aggregation of Key Test Scenarios It collects five parts:
Test scenarios related to resource limitation Test scenarios related to imitating real usage activities Test of the server portion of the application Test of those related to privacy, legacy and charge Test for good user experience
Mobile application verified from these five aspects can be called a valid application
![Page 58: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/58.jpg)
Usability Test
Describes an effective way to have a usability test Used by QA tests to gain usability challenge and advice from
outside the application’s working team
![Page 59: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/59.jpg)
Implementation of the Framework
Structuring a mobile devices information systems Building a defect system for mobile applications Defining an aggregation of key test scenarios Establishing a mechanism for usability test
![Page 60: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/60.jpg)
Structuring a mobile devices information systems
Diversity of mobile devices makes great difference to mobile application development and test
“Database” refers to anything from a Microsoft Excel Spreadsheet to a little SQA database
Device info. Stored in the database during project requirement phase
![Page 61: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/61.jpg)
CONT….
A record for mobile devices should include following items:
Important device technical specification details Modification information especially hardware or any firmware
upgrade Known bugs and important limitations with the device
For real device management, two aspects are highlighted:
Library check-in and check-out system What device is a “clean” device
![Page 62: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/62.jpg)
Building a Defect System for Mobile Applications
Almost all defects for desktop software may occur on mobile applications
Some typical defaults are: Program crashing Unexpected terminations Inadequate input validation Responsiveness problems Usability issues etc
![Page 63: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/63.jpg)
CONT….
Some types of defects typical on mobile applications are highlighted:
Using too much memory space Usability issues related to input methods, font sizes etc Application “not playing nicely” on the device means not
compatible with other applications Not handling private data securely Application not conforming third party to the agreements
![Page 64: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/64.jpg)
CONT….
Whenever a system is adapted, some defect attributes to be encompassed in the system.
These are: The application version information , language and so on Device configuration and state information Steps to reduce the problem Device screenshots
![Page 65: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/65.jpg)
Defining an Aggregation of Key Test Scenarios
Resource limitations of mobile applications include Device limitations (memory, processing power, screen type,
battery level, storage capacity, platform version, input method etc)
Network limitations (bandwidth and accessibility)
Imitating real usage activitiesQA testers imitates some strange activities during testing the application and divide these activities into two aspects:
Compatible with other programs How to deal with accidents
![Page 66: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/66.jpg)
Server and service testing Testers often focus on the client portion of the mobile application In fact, most applications depend on the server Make sure thorough the server and service testing is the part of
overall test plan not just the client portion
Related to charge, privacy and legacy QA testers should test if an application complies with policies,
protocols and agreements which the application must meet. Common agreements are Android License Agreement
Requirements, Mobile Carrier/Operator Requirements and Application Certification Requirements, etc
For good user experience The first concern is installation and upgrade The second is user interface experience The third is stability and responsiveness
![Page 67: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/67.jpg)
Establishing a Mechanism for Usability Test
It is a combination of laboratory tests and field tests
Laboratory tests are traditional way for usability tests, which are usually conducted in usability test laboratories, consisting of e.g. a living room or office-like area connected to a monitoring area with a one-way mirror
They have several same key points in their procedures One is selecting of participated users Another is compiling test scenarios list
![Page 68: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/68.jpg)
Conclusion
• A framework for QA testers to test mobile applications was proposed
• This framework provides a helpful method to solve the question of heavy workload bought by mobile device’s diversity and defines a specific defect system for mobile services to describe problems more accurately
• Also, the framework suggests a set of test scenarios to be attended to particularly and highlights a mechanism for usability test. The benefit for product quality from them are proved in our test
![Page 69: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/69.jpg)
69
Thank you
![Page 70: A Research Study on importance of Testing and Quality Assurance in Software Development Life Cycle (SDLC) Models & Quality Assurance for Product Development using Agile & A Software](https://reader035.vdocument.in/reader035/viewer/2022062307/554f44e7b4c905cd048b56de/html5/thumbnails/70.jpg)
70