Testing Standards
Vision
The testing practice’s goal is to help our testers work easier, smarter and faster by:
- Providing consistent standards, guidelines, templates and processes for testing activities (Test Planning, Test Preparation, Test Execution and Test Automation).
- Providing some governance inside AEMO, ensuring quality deliverables and standardisation of testing process
- Creating a centralised knowledge base for agreed standards and process reducing lead time for projects.
- Providing a platform for projects to consider and budget for Test Automation, enabling automation of >80% regression scope.
- Promoting re-use by providing common utilities that prevent testers re-inventing solutions repeatedly.
- Providing a Risk Based Testing Strategy, enabling projects to deliver within time and budget without compromising quality.
- Integrating processes that shift left the feedback loop to pick-up issues early.
- Increasing use of automation to create consistency in the testing process.
- Create platform for continuous improvement and adoption of standards and processes.
We do this by utilising the Community of testers and focusing on improving how people and teams test our key applications. Testing standards aim to address inconsistencies between the ways teams test solutions. Standards will reduce boilerplate routines to be re-built individually by each application tester, allowing them to leverage their time for business-focused testing rather than implementing technology layers from scratch for each project.
Key concepts of this practice
- Test Automation
- Standardised Artifacts
- Governanace Model
- Practitest Standards
The purpose of Test Automation is to detail the requirements and process for automated testing to ensure, test automation is used in a consistent and repeatable way that adds demonstrable value to projects. It also facilitates engagement with delivery partners to ensure that test automation is implemented in a consistent and maintainable way across the project landscape. Benefits of test automation include:
- Speed - faster than manual execution
- Reliability - tests perform precisely the same operation for each run eliminating the risk of human error
- Reusability - can be run against different versions of the application
- Unattended execution - saving time which allows test resources to focus on progression testing. Reduces the resources required for regression testing, and thus, reducing costs
- Higher quality software - more tests can be run in less time, providing quick and early feedback to the development team
Areas of Test Automation
The objective of Standardised Artifacts is to achieve efficiency, credibility and accuracy of testing deliverable. Standardised templates for repetitive deliverables will save time and ensure greater efficiency. Standardisation will enable us will save time and ensure greater efficiency. This will improve credibility and inspire confidence. Standardisation leaves less room for human error.
Purpose of Governance Model Standards is to establish goals for performance, the goal of getting the best value while considering risks and preserving assets. Governance Model will influences how an organisation’s objectives are set and achieved, how risk is monitored and addressed and how performance is optimised. Objectives of Governance Model:
- To preserve and strengthen stakeholder confidence
- To provide the foundation for a high-performing function
- To ensure the organisation is well placed to respond to a changing external environment
Areas of Governance Model
Practitest Standards details standardised approach to use PractiTest ensuring reusability of test assets, Its Integration with Jira and Test automation tools, guidelines on reporting and dashboard creation.
Key standards
-
Web testing: Functionality testing of a website is a process that includes several testing parameters like user interface, APIs, database testing, security testing, client and server connectivity.
- Usability testing: Web usability testing is a process that evaluates how easy it is for end-users to use a website
- Interface Testing: This ensures validating test requests are sent correctly to the Database and output at the client side is displayed correctly.
- Database Testing: Database is one critical component of your web application and stress must be laid to test it thoroughly.
- Compatibility testing. Compatibility tests ensures that your web application displays correctly across different devices. Browser Compatibility Test: Same website in different browsers will display differently.
- Performance Testing: This will ensure your site works under all loads.
- Security testing: Security Testing is vital for e-commerce website that store sensitive customer information like credit cards.
Web Automation: Web automation is the ability to programmatically control a website through its web interface using scripts and tools. The process of web automation allows software to take pre-defined actions, performing processes and tasks on a web app or web browser. This allows us automate and mimic users action which saves time and cost to Market.
-
Batch automation testing: A Java tool (QuickTest) using swing is developed to perform Batch Automation Testing to adjust to the CI/CD pipelines. The framework allows to follow the same structure used for automation in the AEMO for batch applications but with more precise and more accuracy. It can either work as a standalone UI or a command line with parameters so that CI/CD can achieved.
-
API testing: This type of testing involves communicating with a service using one or more message protocols (such as REST, SOAP or GraphQL). Typically, this flow involves sending a message to the API, receiving a response, and validating the response against a number of expectations. API Testing is one of the most common quality assurance activities, and has only grown in prominence with the advent of microservice architectures and cloud-based solutions. Multiple derivative types of testing, such as contract testing, are designed for more specialised applications of API tests.
API testing is an essential part of the API-first development model, as it enables teams to verify their API's quality by confirming it is working as expected. But ensuring API quality is only half the battle; teams must also iterate quickly in order to release new features that will help them stay competitive.
API test automation has emerged as the answer to this problem, as it helps teams remain agile without compromising API quality or losing test coverage
API automation: API test automation is the process of using a testing tool to programmatically execute and validate API tests.
API automation testing is a type of automated testing that focuses on the performance and functionality of APIs. This process can test APIs for correctness, compatibility, and efficiency.
Automated API tests can be executed on a schedule, or they can be executed within CI/CD pipelines whenever a developer pushes new code. This hands-free approach can be seamlessly integrated into any development team's existing workflow, so they don't have to worry about issues falling through the cracks.
-
Key testing management tool: PractiTest is a centralised test manage hub that:
- Manage all your manual, exploratory and automated tests in one shared platform to make data-driven decisions and accelerate work
- Integrate any tool you work with to unify your workflow
- Connect any automation tool using the REST API, FireCracker or our internal framework - xBot
- Manage all QA artifacts - Requirements, Tests, TestSets, Runs, and Issues, in one place to ensure full coverage and traceability