Strategic Testing Engagement
Strategic Testing Engagement
Test Maturity Model Implementation
If you are planning to embark on a quality improvement programme, the natural first step will be to assess the current state. A number of factors needs to be considered such as test policy, test strategy, types of testing, product risk analysis and management, test design techniques, test team organisation and experience, stakeholder commitment and collaboration, test environments, test metrics, test tools, progress reporting and team communication, support for automated processes are some of the elements. It is not uncommon to find too many gaps during an audit; besides dependencies between various elements considered will complicate the scenario further.
Setting Testing Centre of Excellence
It is common for organisations to simultaneously implement multiple IT projects to support its business needs. Quality assurance requirements across projects may be varied but should have a consistent level of quality. Testing Centre of Excellence (TCoE) provides a framework to create a team of quality specialists who can leverage the best of tools, techniques, methodologies and processes as well as infrastructure to deliver the best possible level of quality. Africonology can help your organisation to set up Centres of Excellence that will allow you to re-use assets and project knowledge. Use of standards and efficient techniques with governance and communication processes will ensure your testing division operates at the right level of efficiency and quality. Centralising specialities such as test automation and performance reduce cross-project scheduling conflicts and while utilising test tools and test environments sufficiently to provide a better return on investment. Speak to one of our principal consultants to initiate an assessment of your current state and prepare a roadmap for implementing TCoE.
Mentoring and Development
With any changes that organisations go through, be it merger and acquisition, growing and/or expanding, quality remains a critical part in every step. As part of internal reorganization exercises, it is common to delegate strategic and tactical test management to the subject matter experts who are experienced in the field apart from development, architecture or project management streams. Whilst the project manager may possess excellent grasp of the organisational and project aspirations, they may not have all the skills to manage testing across the organisation from day one. They may do well in certain areas from previous experience. However, with appropriate mentoring and coaching support, the new managers can become even more effective. Some common areas will include test team structuring, implementing Testing Centres of Excellence (TCoE), implementing test strategies, estimating test effort, monitoring and controlling test projects, evaluating test outcomes to facilitate release decisions and managing career aspirations of the test team. For any assistance you can contact us any time.
Test Environment Management
Test environments poses a significant challenge to the success of major project within testing scope. Different test types require different environments; some cannot be shared. Testing has to be carried out on correctly sized and configured environments to produce accurate results. Besides, complexities of architecture, legacy applications, dependencies on hardware and skilled technicians, shared network infrastructure, data protection and compliance issues can lead to serious project delays in the absence of strong test environment management. Quality gates needs to be strictly managed and maintained at all times. Africonology Solutions can provide your organisations assistance with configuring and provisioning environments with scheduling protocols in order to lower total cost of ownership (TCO) through better utilisation and re-usability. You can benefit from our capabilities and experience in test environment management in order faster release cycles at improved quality.
Selection and Usage of Tools
At an organisation level, tools for managing requirements, test assets, test automation, software builds & deployments, performance testing, security testing and defects are often required and used. Tools from different vendors follow different approaches to quality and vary in the technologies, out-of-the box metrics supported and integration methods used. If you implement tools for one area without considering its impact on others, it may prove costly in the long run and yield negative Return On Investment. Changing tools later will lead to throwing away of assets dependent on them. Proper and thorough assessment must be undertaken to ensure tool capabilities are accurate for your environment. A comprehensive test tools selection criteria must be defined to ensure organizations’ test tool needs of today and tomorrow are effectively met. Corporate wide vision of quality and application life cycle management processes to be implemented are key to get the testing tool selection correct. Africonology consultants can help you achieve excellent results from the very start and allows you and these can allow the organisations to carry on with their core business.
Manual Functional Testing
Manual validation of product functionality is an accepted practice of gaining confidence in product quality and stability. Business and technical requirements are decomposed and test cases are prepared, reviewed, signed-off and executed. Test results will provide a real indication of the fitness of the application software over a range of normal and abnormal operating conditions. The test techniques you employ could range from formal to informal but the effectiveness of your testing will have significant impact to your product quality, however at Africonology we following the techniques subscribed by international testing bodies of knowledge such as ISTQB, etc. Africonology have provided manual testing support to different types of applications employing different technologies and supporting business needs in various industries. Your organisation may benefit from our experience and excellence.
Functional correctness over a wide range of operating conditions is a critical success factor for any of your applications. Rapid development and adoption of newer Web designs, User Interface technologies, Web standards, proliferation of mobile devices of varying capability (hardware, browsers, screen resolutions & operating systems) along with increasing business demand for complex functionality and security presents complications. Exhaustive and extensive testing can be unrealistic and expensive, hence risk base testing can be an option at times. You will need a well calibrated strategy to ensure your product quality does not degrade on certain configurations or changes. Dedicated resources and/or devices, operating systems versions and popular browser combinations.
The business environment of today is fast changing, nimble and competitive. Consequently your software applications will need be subjected to frequent releases. To be responsive, newer software design patterns favour a move from complex uniform style to a collection of loosely coupled but highly versatile and responsive services supporting the same business logic. The number of integrating services /applications creates a multiplier effect on regression impact at each release. Your regression testing strategy needs to be multi-layered to support the business demands of change. Talk to one of us to explore ways to strengthen your regression testing capability.
User Acceptance Testing
Most of applications under development will have business, technical and operational requirements. Some applications may have legal, regulatory and compliance requirements. You may be familiar with the regular approach of applications users validating these applications from their end-use perspective against relevant specifications/predefined acceptance criteria. Modern agile projects tend to use acceptance testing frameworks to validate end-user requirements early in the life-cycle. The end-users from the business, technical and operational streams often are not experts in software testing and may miss validating the product thoroughly thereby increasing the risk of failure in production. The test team alone may not have the necessary application insight and business knowledge to effectively test the application solution. Combined effort will therefore be required from end-users and the test team to define the scope, approach and extent of acceptance tests. Africonology will be keen to help in getting your user acceptance framework and level of effort in place.
Process Based Testing
Our Process Based Testing is moving quality assurance and testing directly towards the business processes by applying test models as a source for test case generation and test automation, accelerating the complete test process and reducing maintenance efforts. Process models are a useful instrument for specifying business and technical solutions as well as identifying functional and technical components to be modified. Test models are extended process models; they are the core artefacts of our Process Based Testing. These models are a process oriented description building the bridge between business requirements and test needs to a unified model. They cover the business layer as well as the system layer and include test specifics to generate test cases for different test stages. Typical needs of testing are to define preconditions for test cases, test execution steps or check and waiting points for comparison of expected and actual results. Test cases are generated by walking through the paths of a test model applying certain end criteria for test coverage and technique. The process and test models are the results to be maintained in case of changes. This makes maintenance more rapid and thus, reduces effort easily. The application of test models has two different approaches accelerating the complete test process and increasing product quality by more effective and efficient application and end-to-end or business process testing.
Data Migration and Integrity Testing
Our data migration testing test the process of importing legacy data to a new system whereby existing data is to be used on the new system, this can be existing client data. This can involve entering the data manually, moving disk files from one folder (or computer) to another, database insert queries, developing bespoke software, or other methods. The specific method used for any particular system depends entirely on the systems involved and the nature and state of the data being migrated. Data migration testing requires an in-depth understanding of the application architecture, interface systems and the impact of business criticality. Data integrity testing is also critical in order to ascertain that the application in question delivers to the required information by business.
Compliance testing, though being part of the non-functional software testing, is basically an audit of a system carried out against a known criterion. We conduct this testing to find the legal and regulatory deviations of the company from the predefined acts and legislations. While performing this testing true attention should be taken to observe any drawbacks in standards and necessary steps to improve the standards. Our compliance testing services include reviews of the organisational adherence to regulatory requirements and standards. It entails identifying high risk areas and designing scenarios to ensure coverage of the rules by effectively mapping them to regulatory requirements. A combination of domain knowledge and testing expertise is critical to success in compliance related software testing mandates.
Automation Testing Strategy
Test Automation has become a mandatory requirement for any software project success. The benefits are broad and varied – ranging from reduced test cycle times, faster regression testing turnaround time, increased configuration & test coverage to increased overall confidence in the product. Unless structured and managed carefully, automation programmes can become complex, failure-prone and expensive. The success can depend on a number of factors – automation goals, criteria used for choosing candidates applications for automation, choice of test automation tools, testability of requirements, skill level of test automation engineers, design of automation framework, dependencies on interface, business logic, data schema changes, application of programming standards, availability /configuration of test environments. Africonology has a deep appreciation of critical success factors of automation initiatives. Contact our automation team to profit from our experience and define an automation strategy that effectively addresses your business and project requirements.
Selection of Test Tools
Test tools are at the heart of any test automation initiatives. There are a number of automation tools available, both commercial and open source. The tool features and capabilities vary from ease of use, object recognition modes, range of technologies supported, integration with other tools, programming language support are some of them. Paying for unused tool features or selecting a wrong licensing model may lead to avoidable expenses that will be irrecoverable. Selecting the wrong test tool can seriously compromise your automation initiatives and may need a tool change at a later date. This may involve expensive migration/conversion of test assets to the new tool- a disruption that could be expensive and avoidable. Africonology has helped a number of clients carry out structured test tools selection and implementation initiatives by reviewing the fit between organisation-wide requirements (both technology and business) with the test tool features. Post-selection, clients may need installation and configuration support, training and mentoring. Africonology can help your organisation in every step of the way in selecting and implementing test tools in your organisation.
Test Automation Implementation
Implementing test automation against tight project schedules can be challenging. Product test teams and automation teams must work in together to implement automation and uncover defects early in the lifecycle. Scripting new automated tests can be time consuming and using those scripts to test newly delivered product functionality can be overwhelming. The automation team should have sufficient capability and capacity as well as need skill to ensure the product is tested quickly and efficiently. Having good test tool engineers alone may not ensure success. Particular focus must be placed on knowledge of the application under test, efficient test case design, reusability & maintainability of test scripts and ensuring test data and environments are available without delays. Success will be dependent on the level of collaboration and co-ordination achieved by the test automation team with other teams – business, development, product test etc. If you wish to have additional automation resources/ skills for one of your key projects, please contact us and we will be able to assist.
Designing Automation Framework
Setting up automated tests for the first time can be time-consuming. It can take almost ten times more effort to prepare an automated test than it would take to manually test the same feature. Besides, applications will be subject to changes during their lifecycle necessitating changes to the automation tests. A single change could render a number of automated scripts to fail unless they are all updated to reflect changes to application functionality. Maintenance could be time consuming and inefficient. A widely accepted solution is a test automation framework, an application independent structure that provides a standardised approach to meet an organisation’s automation objectives through the use of a set of reusable function libraries, layers of abstraction, processes and tools with high focus on reduced maintenance, increased reliability and scalability. You can make significant time and cost savings by reusing Africonology’s automation frameworks for various tools.
Performance Test Strategy
Performance testing requires collaborative effort from business experts, performance testers, application developers and infrastructure experts. Besides it requires expensive tooling, dedicated environments and large amounts of test data. The demands on resources and tools make performance testing an expensive exercise and needs a detailed plan to be a success. Often the performance requirements can be ambiguous and the performance test objectives unclear leading to incomplete testing exercises later in the software development lifecycle. Without careful thought, incorrect assumptions may be made for workloads, concurrency, environment scaling, size and shape of test data etc. which may lead to results different to those experienced in live system. Business owners may develop false confidence in the system based on incorrect test results. Africonology consultants can assist you in accurate modelling of performance test scenarios by implementing good practices through sound organisation/ project level performance test strategies. With our help, you will be able to build and test for performance earlier in the lifecycle.
Selection of Performance Test Tool
Simulating multiple users in synchronized manner requires the use of performance tools. There are different types of performance test tools available in the market- ranging from open source HTTP drivers to commercial types that can simulate state-of-art web technologies and proprietary ERP/CRM solutions. Some are even hosted as cloud-based solutions to simulate “outside the firewall” load common in today’s application delivery landscape. Even enterprise class commercial performance testing tools may not offer out-of-box support for certain evolving and newer technologies. The licensing models adopted by the product vendors can be restrictive and expensive and procurement decisions should only be made after careful analysis to understand the fitness of the tools in your own environment. Africonology consultants are vendor certified on various performance test tools and experienced in using the advanced product features.
Most applications must be performant, consistent and available to meet revenue goals. Slow applications drive customers to your competitors whilst application unavailability affects the volume of trade. Internet load spikes are highly unpredictable and events such as discount sales and clearances can drive application demand to an extreme. Network level peering issues can lead to poor performance for users in certain geography. There is a growing trend to understand how well applications cope in real-world conditions. Performance testing in isolated test environments should be complemented with real application performance monitoring from different points on the globe. Application performance monitoring allows stakeholders to understand the amount of revenue lost through poor performance besides giving them an opportunity to intervene pro-actively in case performance degradation is identified. There are different methods and tools for application performance monitoring. We can advise how best to implement them for your maximum benefit.
Implementation of Performance Testing
Performance testing requires specialised skills for stakeholder management and co-ordination, requirements elicitation, workload modelling, test tool installation and configuration, performance test scripting, results analysis and correlation and performance tuning/optimization. Compatibility of the test tools with technologies, availability of skilled resources, environment and data availability, security policies and procedures etc. can present challenges to performance testing irrespective of the exercise being one off or part of a routine.
Africonology can provide the necessary additional help you may require on your time-critical projects. In case, your organization is keen to embed performance testing as a standard engineering practice, we can help you irrespective of whether you are following a waterfall or agile methodology. Our consultants can function as an extension to your internal performance test team, assisting them to cover shortfalls in resources and skills. Our Performance testing includes defining performance requirements, generating performance scripts, running appropriate tests and reporting on results. And in Tuning and optimisation, we use performance test scripts in a proactive way, in order to identify bottlenecks and make recommendations for improving application performance.
Load testing is the process of putting demand on a software system or computing device and measuring its response. Load testing is performed to determine a system's behavior under both normal and anticipated peak load conditions. It helps to identify the maximum operating capacity of an application as well as any bottlenecks and determine which element is causing degradation. When the load placed on the system is raised beyond normal usage patterns, in order to test the system's response at unusually high or peak loads. Africonology Solutions will support you with load and performance tests, in order to help you provide your users with the best possible service. Our Capacity benchmarking includes assessing how systems perform under known load conditions. This service is often used at design or requirements stage. The causes of load and performance problems are often deeply rooted in the architecture. It is important to introduce early fault detection. As well as load and performance tests at system integration stage, Africonology Solutions also offers tests and reviews during development.
With the birth of smart devices, the business world has become highly competitive and information dissemination is conveyed in a very fast paced speed. As a results the businesses are now embarking on having mobile presence in a form of mobile apps and portals. Our mobile functional testing determines the functional correctness should be verified thoroughly prior to publishing and to help our clients to exceeds their customers’ expectations
Also, in order to the help our clients to deliver quicker to the market, we also look in to the implementation of automation testing of mobile application. As much as mobiles applications are becoming complicated daily, from ecommerce and enterprise resource planning applications, we however strive to keep ourselves abreast of the changes taking place in this scenery in order to deliver the best and state of the art automation testing on mobile apps. Fortunately mobile test automation tools have evolved and the possibility of recording business functionality on one platform that can then be replayed on multiple platforms is a reality.
Compatibility testing has also become an important aspect on delivering mobile testing, since the current smart devices are accessed on different operating system, from iOS and Android, it has become very imperative that we also embark on compatibility testing across platforms in order to ensure that users receives consistent content and functionalities regardless of mobile device they are using.