Upload
bite-consulting-group-ltd
View
64
Download
0
Tags:
Embed Size (px)
Citation preview
GETTING READY TO TEST YOUR WEB APPLICATIONPART TWOA Guide for the Business Team in preparation for Quality Assurance Testing.
There’s no getting around the fact that software is a crucial part of business today which are increasingly reliant on software for their day-to-day operations.
More lines of code are being written and put into production today than at any previous point, and this trend is only expected to rise.
So it’s no surprise that software quality is more important for businesses than it has ever been
Business Today
it is more important than ever to have a robust testing methodology for making sure
that software products/systems being developed have been fully tested to meet their
specified requirements and can successfully operate in all the anticipated
environments with the required usability and security.
Comprehensive and practical QA testing will
ultimately lead to:
• Enhancing the quality of existing products
and applications for better business results.
• Software and applications with zero defects
resulting in enhanced user experience.
• Reduction in maintenance and operational
costs leading to overall cost reductions.
• Quality services with faster turnaround time.
Overview and introduction to Software Quality Assurance
In developing products and services, quality assurance is any systematic process of checking to see whether a product or service being developed is meeting specified requirements.
Many companies have a separate department devoted to quality assurance. A quality assurance system is said to increase customer confidence and a company's credibility, to improve work processes and efficiency, and to enable a company to better compete with others.
What exactly is Quality Assurance Testing?
Quality assurance systems emphasize catching defects before they get into the final product.
Quality assurance was initially introduced in World War II when munitions were inspected and tested for defects after they were made.
Overview and introduction to Software Quality Assurance
Unit Testing System Testing
Integration Testing
Functional Testing
User Acceptance
Performance Testing
Quality Assurance Testing follows a defined process but in some context or form should include the following high level tests
Regression Testing
Overview and introduction to Software Quality Assurance
Unit Testing
• To verify Easy-to-use application features
• Search and clear navigation is working correctly
• Content readability and Granularity
• User interface consistency and standards
• System response in terms of application launch time and
page-switching
• Easy to understand error messages
Unit testing is a software development process in which the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation. Unit testing is often automated but it can also be done manually.
The aim of this test
Overview and introduction to Software Quality Assurance
System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. System testing falls within the scope of black box testing, and as such, should require no knowledge of the inner design of the code or logic.
• To detect defects both within the "inter-assemblages" and
also within the system as a whole.
• To detect any inconsistencies between the software units
that are integrated together
Overview and introduction to Software Quality Assurance
The aim of this test
System Testing
Integration testing is the phase in software testing in which individual software modules are combined and tested as a group. It occurs after unit testing and before validation testing.
• During integration testing, you combine the individually unit-tested modules to see how they behave together.
• To verify functional, performance, and reliability requirements through:
Bottom Up Testing is an approach to integrated testing where the lowest level components are tested first
Top Down Testing is an approach to integrated testing where the top integrated modules are tested
Sandwich Testing is an approach to combine top down testing with bottom up testing.
The aim of this test
Overview and introduction to Software Quality Assurance
Integration Testing
Module 1
Module 2
Module 3
• Functional testing functionality of the module is tested and structure is not considered. It is performed, based on user's perspective. These tests ensure that the system does what users are expecting it to do.
• This type of testing means testing the functionality example include input the proper data and checking the output as per the requirement documents.
Functional testing has to validate the application to verify that all specified requirements of the client outlined in the SRS or BRS have been incorporated or not.
The Functional testing output concentrates on the customer requirements and Non-Functional testing focuses on the customer expectations.
The aim of this test
Overview and introduction to Software Quality Assurance
Functional Testing
• Ensuring that the application behaves exactly as expected.
For the vast majority of programs, unpredictability is the
least desirable consequence of using an application.
• Reducing the total cost of ownership. By providing software
that looks and behaves as shown in your documentation,
your customers require fewer hours of training and less
support from product experts.
In software development, user acceptance
testing (UAT) - also called beta testing,
application testing, and end user testing - is a
phase of software development in which the
software is tested in the "real world" by the
intended audience
Test
Improve
Deliver
The aim of this test
Overview and introduction to Software Quality Assurance
User Acceptance Testing
• Performance test reporting is the process of presenting results data that will support key technological and business decisions. The key to creating effective reports is to consider the audience of the data before determining how best to present the data.
• The most effective performance-test results will present analysis, comparisons, and details behind how the results were obtained, and will influence critical business decision-making.
Performance testing is the process of determining the
speed or effectiveness of a computer, network,
software program or device. This process can involve
quantitative tests done in a lab, such as measuring the
response time or the number of MIPS (millions of
instructions per second) at which a system functions.
The aim of this test
Overview and introduction to Software Quality Assurance
Performance Testing
• The purpose of regression testing is to ensure that changes have not introduced new faults.
• To determine whether a change in one part of the software affects other parts of the software.
• To test a system efficiently by systematically selecting the appropriate minimum set of tests needed to adequately cover a particular change
Regression testing is the process of testing
changes to computer programs to make sure
that the older programming still works with the
new changes. Before a new version of a
software product is released, the old test cases
are run against the new version to make sure
that all the old capabilities still work
The aim of this test
Regression Result
Retest all
Select Test CasesPrioritise
Overview and introduction to Software Quality Assurance
Regression Testing
Project Manager
Quality Manager Test Team
Suppliers
Internal Team
Technical Lead Design Lead Production
Manager
THE TEAM
GUIDELINES FOR THE TEST TEAM
A clear indication of what they are going to be testing An explanation of the test cases that each tester has been assigned A laptop for the testing in good working order Mobile devices for the testing in good working order The correct testing software loaded Who to contact when there are issues How to log the defects
The following points noted below are just a high level indication of the guidelines needed to assist the test team perform the testing.
Please note
It is recommended that these guidelines are clearly outlined in the test plan.
Role Key Function
Quality Manager
• The quality manager must control the end to end quality outputs for the product
• Must be the primary point of contact with the business owner during the quality process
Project Manager
• The project manager must control the agreed timetable for testing and ensure that this is maintained
Test Team • To perform the tests as agreed with the project manager • To update the defect log in the agreed way• To retest all defects before releasing the defect
Technical Lead
• Must coordinate and control the defect log • Must manage the technical team to resolve the defects as noted in the
raised log• Is responsible for the quality of the defects being resolved
Design Lead
• Must ensure that the agreed design has been implemented in line with the approved documentation
• Must monitor the overall testing and communicate directly with the Technical lead where applicable
Production Manager
• Must control and monitor the tickets being raised for the testing cycle within the agreed timeframes
The roles and responsibilities can be adjusted where relevant.
THE KEY ROLE
• Ensure your suppliers are involved at every stage of
the project
• Setup proper release management that is tied to
financial billing and payment
• Hold regular status meetings with your suppliers
• Track the project plan and address issues
• Identify any impacts and raise change controls
where required
• Hold regular audits on your supplier performance
MANAGING YOUR SUPPLIERS
Today more and more organisations have to interact and develop a performance based relationship with their suppliers in order to ensure that the correct level of skill is readily available to test and provide end to end support for the software product. Having the right supplier in place will help to reduce quality issues and rework.
Contract Management
Operational Management
Day to day execution and interaction
Reporting and communication
Issue and Risk Management
Financial Management
THE TESTING APPROACH
Test Plan
Execution
Reporting
• Confirm what methodology is to be used i.e. Waterfall or Agile
• Confirm that the test environment has been setup and communicated
• Ensure that the test case process/methodology is agreed• Confirm that the test plan is agreed and approved• Confirm all required hardware is in place for the testing
to commence.• Confirm what meetings and communication channels
will be used during the testing• Agree how defects will be logged – what ticket system is
to be used.• Agree to how the defects will be categorised (e.g. High
Medium Low – Low defects could be fixed once the website has been moved to a live environment)
• Agree how changes will be managed to prevent scope creep
The Test Plan Analysis
Test Strategy
Test Plan
Tool Selection
THE TESTING APPROACH
The test plan must outline the full approach for the test cycle and be kept live throughout the testing cycle. This is also a great document to use for lessons learnt
Test DesignTest Cases
Test Scripts
Test Scenarios
Testing Tools and Aids
THE TESTING APPROACH
The main document to control this would be the test log that is aligned to the individual test case number. This can also integrate into the requirements matrix
Test ExecutionRun tests
Defect Reporting
Defect Analysis
Reporting
THE TESTING APPROACH
The execution phase of the testing cycle must be controlled within the project plan and test log and reported back within the agreed communication channels
THE TESTING CHECKLIST
Test ready review
Criteria StatusPlanned, In Progress, Completed
Test Plan Created and Reviewed
Test Cases Integrated into Test Log
Test Data setup and available
Roles and Responsibilities Defined
Communication strategy finalised
Team provided access to the testing application and test management process
Training has been provided where applicable
Supplier contracts finalised
Team has working laptops and mobile appliances
Standards and processes are agreed and setup
The project plan is updated and baselined
Step Action
Test Log All test scenarios completed
Defects resolved Test log indicates outcomes
Defects not resolved Decision if defects are to be moved to live production and resolved under the support SLA
Production Handover Formal handover to the production team
Live Release The live release is sent by the project manager to business
Test Project The test project is closed in the ticket system
Test Team The test team is released and can return to their normal day to day activities
THE TESTING CHECKLIST
Final Checkpoint
MOVING TO LIVE PRODUCTION
Once the testing has been signed off by the business team the project manager will prepare the release notification to handover the project to the support team. This will be managed by your supplier who is hosting your system.
The supplier is also responsible to ensure that all of the migration of data as agreed in the data mapping plan is moved over to the new website.
The business team will have to ensure that the relevant Service Level Agreements are in place which include the required Software Licenses.
Please note
SUMMING UP
Higher reliability will result in greater customer satisfaction: as software development is essentially a business transaction between a customer and developer, customers will naturally tend to patronize the services of the developer again if they are satisfied with the product.
Raising and continuously monitoring the quality of software allows you to improve the Return On Investment, to reduce the time to market and to increase customer satisfaction for your software product.