Please enable JavaScript.
Coggle requires JavaScript to display documents.
R11. Testing - Coggle Diagram
R11. Testing
R11.1
The purpose of testing digital components
Purpose of testing
Accessibility testing
Consideration for end users with special accessibility needs
Intention of this testing is to ensue digital components pass accessibility and usability standards
Usability testing
Analyses overall end user experience and consider how easy product is for them to use
Can be used to gather data that is required to identify any issues and improve the design
Customer/client/end user satisfaction testing
Testing components to confirm whether end user has positive or negative experience
This is to ensure they meet the requirements of the customer
Evaluates compliance of components with requirements of business and confirms required criteria for end users, has been achieved
Functionality testing
Verifies each component by providing input and comparing output against functional requirements
Primarily black box testing, checks user interface, application programming interfaces, databases etc
Can be carried out manually or by automation
Performance monitoring
Acts like an early warning system that will alert IT team when something has gone wrong
Can include downtime, outages and application slowness etc
Fault finding and debugging
Carried out to check for any errors and debugging carried out to locate and fix these errors
Can be carried out manually or automated
Different types of fault finding like , integration, system and stress testing etc
Impact assessment
Carried out while there is opportunity to make changes to proposal and implementations of any digital change
Efficiency of individual components
Analyses what resources were required for component to function effectively and how many were used
Testing efficiency takes into consideration people, tools, resources, time in order to calculate efficiency etc.
Ensuring desired outcomes
Test digital components to ensure they function as intended, efficiently and effectively
If they do not meet expectations of customers then the business can easily fail
Compatibility testing
Types of compatibility testing
Software versions
Mobile
Devices
Hardware
Networks
Backward compatibility testing
Forward compatibility testing
Browser
Digital Components
Data
Testing data can be
Extreme - data from extreme boundaries from a range of data
Erroneous - Data that should not be accepted and cannot be processed
Valid - data that program is likely to accept or process
Interfaces
Ensures each component works with other components and there is no 'gap' in communication between them
It confirms the functionality of software interface, important aspect for software testing
Hardware
Ensues every component of a system is operating well and performing in accordance with specified requirements
With a well-designed, comprehensive and structured testing programme it ensures all aspects of the system are tested
Test scripts
Reasons to why use test scripts
Prepared in advance, helps reduce likelihood of errors during testing process
Best approach to verify nothing is missed and results are true as per to the test plan
Testers can miss certain features, so with a test script it will focus their attention on what tests are required
Test scripts can indicate the results that they should be looking to achieve
Useful when user performance is important and specific
Software
Reasons why software testing is important
Quality control of a product, maintain customer confidence and satisfaction
Facilities used to provide customers with product, services are at a high standard
Maintain customer satisfaction and have belief business is reliable
Ensure effective performance of products and applications
Point out defects and errors that was made during development phases of the software
Ensure application will not result in failures
R11.2
Process of applying root cause analysis to problems
The 5 Why's
Answer every question with a why question
Example:
Why 2: "Why were you speeding?"
Response to Why 2: Because I did not notice the speed restriction sign"
Response to Why 1: "Because I was speeding"
Why 3: "Why did you not notice the speed restriction sign?"
Why 1: "Why have you got three points on your driving license?"
Response to Why 3: "Because I was not looking at the road signs"
Problem: "I've got three points on my driving license"
Why 4: Why weren't you looking at the road signs?"
Why 5: "Why weren't you concentrating on the road signs?"
Response to Why 4: "Because I was not concentrating on the road signs?"
Response Why 5: "Because I was too busy on my phone
When to use root cause analysis
Should take place when an issues occurs that will result in outcomes that will disadvantage an organization
Criteria that should be determined if an RCA should be carried out are:
Failure of service delivery/functional operations
Loss of data
Occurrence of an undefined process
System downtime
Complaint or feedback from a stakeholder
How to use root cause analysis process
Process to follow:
Get information that is available like when did it happen etc
What would impact have on organization if problem was not resolved at all
Identify what the problem is and the impact it has
When information gathered, investigate problem and identify what caused the problem to occur
Main focus is to eliminate the problem and find any solutions
Use the 5 Whys approach
Monitor the process and make any changes if they're required
If there's more than one cause to the problem, do a list of the main priorities and work through them
Finally, establish how and when the system will be tested/monitored to ensure it is performing as required
R11.3
Testing methods and their application in their digital sector
Concept testing
Used for
Scoping and validating requirements
Informing decisions before committing time and resources to a project
Usability/audience testing
Involves
Identifying usability problems
Determining user satisfaction with the product
Testing whether functionality fulfils desired outcomes
Stress testing
Testing whether system can function with expected demand by replicating real-world load
Load testing
Type of performance test used to check how system functions under heavy volume of virtual users working at same time
Used to determine how many users the system can effectively handle at the same time
Stress testing
Includes sudden high increase of number of virtual users (spike test)
Carried out over a long period of time to check system's sustainability with slow increase in virtual users (soak test)
Penetration testing
Used to determine vulnerabilities in controlled environment
Involves an authorized attack on a system
Also known as ethical hacking, can be carried out by white or grey hat hackers
Network penetration testing
May include intercepting network traffic, testing routers or stealing log-in details etc
Carried out to look for internal or external opening to identify vulnerabilities could be exploited by attackers
Social engineering penetration testing
Evaluates success or failure of security policies, procedures etc which been implemented to protect against social engineering attacks
Can test weakness in employee's understanding of security policies and procedures, can act as a catalyst for staff training
Physical penetration testing
Aims to test access to rooms or buildings, assesses effectiveness of current physical security measures
Can reveal weakness in employee's understanding of security policies and procedures, may trigger staff training
White box testing
People carrying out penetration tests are provided with full and complete information about digital system to be tested
Aims to identify any existing vulnerabilities in software and any incorrect configurations in digital system
Test workings of software and strengthen security, usability and design
White box testing may miss problems in areas that are not tested by the tester
Black box testing
Involves
Testing inputs and outputs against expected results
Measuring functional requirements of a system
Types of black box testing
Regression testing
Carried out after code fixes, upgrades. Checks that any changes have not had an impact on system as a whole or part of system
Non-functional testing
Concerned with non-functional requirements of system, determines how ready system is according to criteria
Functional testing
Testing functional requirements of system
Following parameters are checked:
Response time of the system
How system interacts with inputs
Accuracy of actions performed by users
Use of data structures in user interface
Usability issues
Performance issues
Sudden application or system failure
People carrying out penetration tests are provided with no information except name of business
Carried out from an external perspective with aim to identify ways systems could be accessed by hackers
However, as full details have not been provided, vulnerabilities within digital system may not be identified
Can also test a system against external factors responsible for software failures