With over 40+ years of combined experience in Information Technology, IT Ecology consultants are geared to understand client requirements and deliver consulting and services engagements that address overall Quality Maturity, Test Automation, Robotic Process Automation (RPA), Performance Testing and Application Performance Management (APM) both in South Africa and abroad.
Quality Assurance has always been a critical element of a successful software delivery but the way software quality is approached needs to adapt to the faster-paced software delivery lifecycles. Quality is also no longer measured by internal metrics describing how well the application is working or not. Instead, quality is measured by the user’s experience and satisfaction. This alone significantly affects what metrics are used to describe quality and thus which metrics are to be tested, instead of only measuring functional aspects of the system we now also include usability and performance at the user interface.
Quality now needs to be baked into every step of the SDLC and the same ingredients used in the past are needed to ensure customer satisfaction, albeit these are delivered in a different form and across a different timeline. These include vital processes for managing requirements, changes, test effort and defects.
Although Agile development advocates leaner documentation, the abovementioned processes still must be in place to drive quality into the product and hence much automation is required to enforce such processes as quality gates at various stages of the SDLC. The way they are implemented however is important, as processes need to align best practice, organisational culture and expected outcomes. Testing components of an application as early as possible (shift left) and testing in line with metrics from production usage (shift right) are just two concepts that add huge benefits to the quality of an application if implemented well.
Let IT Ecology assist your organisation with assessing what you want to achieve in terms of quality, where you are in terms of such objectives, what the gaps are that stop you from achieving them and how to remedy the situation.
Application Performance Testing
With shrinking timelines and performance testing historically at the back of the testing activities, it is probably the most at risk of being “bumped off” the range of tests to be done when a formal performance testing strategy is not in place.
Performance issues are complex in their nature and trying to find them just before go-live is always going to be risky to the project timeline and costly when problems are found late. Adopting a shift left performance testing approach is thus highly recommended as it ensures performance is taken care of in non-functional requirements and tested as soon as any component is ready for test. This may be in the form of a single micro service or a particular user journey that developers are working on and such testing can easily be adopted by developers early in the lifecycle.
Performance profiling of a page is another aspect of performance that can be adopted early, and this can also be augmented with network profiling to see how the last mile network conditions may affect performance.
Higher and mixed load performance testing should also not just consist of a regression load test scenario. Performance testing activities in later stages of the SDLC should include load, stress, endurance, and scalability testing for effective capacity planning of infrastructure to sustain performance objectives. Any of the test scenarios should be carefully designed to mimic expected usage loads where a system is not yet in production and be reflective of real usage loads as measured in production if the system is already in production (Shift-right performance testing).
Lastly, performance testing without adequate performance monitoring and analytics fails to deliver quick determination of root causes, especially when considering complex micro service cloud-based applications with multiple 3rd party integrations. A single test cycle with adequate instrumentation could require up to 7 test cycles without such instrumentation.
Let IT Ecology take care of your performance testing requirements or develop a core competence for performance testing in your organisation.
Application Performance Management
Now more than ever, in a rapidly evolving digital landscape where application deployments become more segmented and complex, managing your application performance and stability can be a daunting task.
IT Ecology specializes in services and solutions that remove the complexity of APM and ensure visibility through customizable dashboards; designed with specific audiences in mind, whether it’s for end-user experience, environment & Infrastructure monitoring, or deep monitoring of your application code down to the method level across a complex cloud- and container-based system or a simple on-premises application and everything in-between.
During development, as small changes get made and promoted to testing environments, performance degradation is often introduced without being noticed – ultimately making it’s way into a test environment or even into a production environment. Introducing APM into your build pipeline at every step is easier than ever with highly integrative tool-sets that automate gathering APM data alongside your automated functional or performance tests allowing you to catch performance issues at each step in a deployment pipeline and introducing quality gates based on APM data.
Even with adequate performance testing during development and QA phases, performance problems can still occur in your production environment and these can be exponentially costly for each second they occur; making resolving these issues speedily a priority. When it comes to isolating and pinpointing issues in your environment, getting actionable information to the correct team as quickly as possible is critical in resolving problems with performance and stability, minimizing costly slow resolution times. IT Ecology provides the solutions to arm your teams with near-real-time actionable information, which is invaluable in high-pressure situations.
Automated Functional Testing
For its entire existence to date, test automation has solely focussed on automating the execution of tests. This added value for waterfall projects where a large regression pack needed to be run, and the development of new test cases and exploratory testing which required human intelligence was executed manually because time permitted it.
Creating complex automation frameworks and scripting comprehensive regression packs that mostly remained static for years was also bearing fruit; however as the faster-paced software delivery cycles (Agile / DevOps) were embraced, the importance of automation increased but the value most organisations derived from this historic test automation approach diminished. An increase in the ratio of exploratory testing and the complexity and skill requirements of automation frameworks proved laborious whilst covering a limited set of test cases.
A new approach is required that looks at test automation in a far broader sense and derives value by reducing the time to automate test case creation and significantly simplifies the creation of test automation assets that are easily amended when a change is needed.
This is where AI meets testing through a model-based approach to test case creation, considering orders of magnitude more test cases than what a human would have created and at the same time determining which test cases should be executed and which are not deemed to be high risk cases. Inputs to the AI algorithms are derived through integrations from several sources including change and defect history, real user journeys, coverage analysis, bug hunting aspirations and any regressions that are known to remain static.
This AI approach, paired with image-based test automation that simplifies technological constraints to automation, enhances re-usability of automation scripts across multiple technology stacks (cross device, cross OS, cross browser) and simplifies test creation and maintenance, has proven to again deliver on the promises of value and return on investment that test automation was meant to bring.
Additionally, when business processes to be tested include black box hardware, easy integration of cost-effective robotics solutions makes this far more viable than it has been in the past. Examples include the testing of processes requiring ATM or pinpad interactions as well as smartwatches and IoT devices.
IT Ecology have therefore aligned themselves with future-minded technology companies that are innovators of modern-day automation solutions.
With a proven track record of delivering value to our clients through automation, our skilled team is ready to assist with your automation initiatives.
We at IT Ecology pride ourselves in being able to provide services on a vast array of products and, in doing so, have built the knowledge and skills to support these products.
For all supported products (see products page) we possess the capability of implementing, maintaining, training and using the product.