A Closer Look at Testing Lifecycle and Key Terms
Hello fellow LinkedIn readers and welcome to thoughts of the day. As a child, I would often engage in word puzzles, anagrams and then later learning testing material we used mnemonics to remember things.
As a spin off at my tea-break, I wrote down the word ‘testing’ and reeled off some key terms that feature heavily in testing. All for some light-hearted reading based upon my many experiences over the years.
These are a few of the words that came to mind using the letters that form the word ‘testing’ and are expanded upon, in terms of how they feature in the testing lifecycle.
Trust, Testing, Time, Trajectory, Techniques, Targets, Tracking
Estimates, Enquiry, Engage, Evaluate, Existing, Environment, Eliminate
Stealth, Statistics, Show, Sense Check, Security, Smooth, Staggered, Stakeholders
Triage, Truncation, Traceability, Teams, True, Training
Interest, Impact, Instinct, Intuition, Investment, Inputs, Inquisitive, Inform, Improve
No, No-go, Niche, Negligible, Negotiating, Normal, Nuances, Negate, Necessary
Go, Geography, General, Goals, Generic, Great, Guide, Gradual
‘Trust,’ without a doubt is an essential part of testing. There is rarely an opportunity to micromanage and therefore as software testers, we need to trust the stakeholders we work with. We build trust and confidence in each other. As well as in the solution as we analyse, challenge, question and ultimately show progress within the testing cycle. Therefore, to produce progress statistics via distributed reports.
Testing needs to be very defined. So, we need clear cause and effect statements to evaluate if something is true or false for ‘Pass/Fail’ reporting inputs. These tracking reports help to illustrate the trajectory and the progress is heading in the right direction. From this, we can understand patterns and elapsed times in order to achieve common project and team-based ‘targets.’
Testing takes time. It's vital that testing time is spent wisely, based on the importance of the function under test and the code's readiness. It's common to have environment refreshed or code changes in specific areas. So, we need to run a sense check initially to find out if the environment is ready for testing again. Also, to check that critical functionality is available and deemed fit for purpose.
Security is of paramount importance more than ever. So, a variety of security testing techniques can be run to expose vulnerabilities in the software. All the distinct types of testing combined can help achieve a smooth delivery. Whether a 'big bang' approach or a staggered, or phased delivery broken up into functions, teams, geography or other classifications.
Estimates can often be a cause of disagreement. We use enquiry-based test activities to engage with the project stakeholders to understand their overall view. So, that we can effectively evaluate the existing elements and functions in the environment, compared with newly introduced variables.
Sometimes, project workings are sensitive. At certain times, it's relevant to apply a ‘stealth’ mode to the project operations due to the potential impact on the market share price, employees or clients (which may or may not require a non-disclosure agreement to be used).
Daily Triage of Defects
Daily triage of defects can be enlightening and give us clues about the quality of code, root cause and the types of defects being identified. As well as the time taken to raise, analyse, return, retest and close them. Even minor things like character format and length of field, truncation etc. can cause a breakage in the flow of data once within the integration stage where systems are linked.
Traceability matrices are a useful method of checking whether there are any requirements which do not have a test case against them and help to eliminate risk/gaps in coverage.
There is a successful trend in collaborative working which is widely adopted to prevent silos and communication breakdown. Logic supports the theory that teams engaged and working together will produce more effective results. Also, it's true that teamworking can improve employee relations as shared bonds and experiences create rapport which can only serve to enhance productivity
Testing holds great interest to many, not least the project teams which have a shared interest but as Testers, we can expand that into exploratory testing. By engaging our intuition, instinct and inquisitive natures to further explore the behaviour relating to specific areas and components. Sometimes, even niche areas of functionality can cause issues if they are not often used but have a high impact.
It's common to see testing timescales squeezed and along the journey, we may be asked to accommodate more in addition to what we originally set out to do. Sometimes, the right answer is to simply say ‘no’. No to introducing more risk when the latest changes are not urgent and could destabilise the release.
During the project lifecycle, perceived value can change and it may be decided that some requirements will provide negligible benefits overall or have become superseded. These fundamental reviews are necessary to monitor cost-benefit analysis. Also, use negotiations when supporting evidence to negate the impact of risks. Focus on necessary changes and identify what is considered normal system behaviour. Even to the degree that nuances in system behaviour can impact user functionality.
For example, I saw a defect raised around ‘tabbing functionality’ as business users often used tabbing which we were unaware of. However, the functional testing was done by filling each field as it appeared on the page. At critical checkpoints, we can hold ‘Go/No Go’ meetings to decide whether to move into the next phase of testing or even release into production.
‘Go’ decisions are made collaboratively at each checkpoint stage to obtain the general consensus and arrive at an informed decision. These decisions are vital to realise the benefits of investment in testing. It's also important for achieving significant savings in the amount of money and time spent. Sometimes, geography can be a factor as there are different rules, behaviours, versions, time zones, languages and operating procedures dependent upon location.
In summary, a project often uses testing inputs and activities to realise its goals and whether it can deliver the generic code. Also, to identify the variables to deliver a great product, service or system. Testing helps to guide stakeholders to understand and process information so that gradual progress can be made towards an improved outcome. Testing documentation can also provide valuable input to training and user guides to be rolled out in advance of future deliveries.
If your organisation needs help with any of these things, do reach out and tap into our wealth of experience. Here at nFocus, we are privileged to work with clients across industries providing customers with a bespoke testing health check and testing plan tailored to their budget and timescale.