Updated: Oct 16, 2019
To be current with the times, in today’s market that doesn’t mean just upgrading your technical skills, but developing a shift in your mindset and habits. Changes in technology have resulted in different work approaches to leverage that new technology. Much of the Sydney market place particularly banks and insurances I notice are doing one of the following:
Developing Software as a service
Developing Cloud based /Web service architecture
Moving to Microservices architecture
Creating Service based architectural models
Although there are still companies following a Waterfall process, most development is typically Agile and Iterative. Many of the practices of the Tech Start-Up like MVP (Minimal Viable Product) and LEAN have been adopted by more mature companies to decrease costs and target their market better.
Services based architectural models means teams are defining their business implementations as a set of independent but connected services governed by contractual interfaces. Hence a focus on API, integration and contract testing. It means functionality is getting more compartmentalized and increasingly wrapped as a service. All this allows teams to become smaller and in the sense, truly Agile. To accommodate these changes I notice the following practices that testers are adapting to:
A focus to move quality upstream (Shift-left) with everyone taking responsibility for quality.
Testing moved upstream in terms of unit, component and integration testing; again requiring QA to be involved much earlier than they traditionally used to be
Small, highly collaborative cross-functional teams
Stress on automation and automated testing solutions
A wide adoption of CI/CD (Continuous Integration/Delivery) pipeline
Context Driven Testing, Heuristic and Risk Based approaches
A much bigger/diverse role for the tester to play in the QA or development team.
Involvement in software design so that appropriate tests can be identified to test the core functionality
Teams using mocking framework to mock out dependencies so that they can move faster in terms of software development without having to wait for upstream and downstream dependencies to be available.
So what does that mean?
Manual testing skills only will not cut it. Do a boolean search in google ( i.e. site:seek.com.au testers) to see what I mean.
Widespread demands for skills in UI automation, API and Web Services testing and CI/CD
Solid capability in enterprise skills (communication, problem-solving, design thinking, collaboration, teamwork etc.) that allows you to develop a mindset that works for a shift-left approach to work, a highly collaborative work team, where quality is the responsibility of everyone in order to produce product faster and the focus is smarter, faster whilst not sacrificing quality.
Skills and techniques that allow for faster bug hunting and reporting.
RESOURCES that allow you to upskill quickly:
1. COMMUNITY support, coaching, education and mentoring:
Meetups: Volunteer groups that support free training, speakers and communication in a particular subject matter:
Sydney Testers : http://www.meetup.com/Sydney-Testers/
Quality Engineering: https://www.meetup.com/Quality-Engineering/
Twitter feeds: Acquaint yourself with Software Test Thoughtleaders to pay attention to on twitter; James Bach, Cem Kaner, Michael Bolton, Anne-Marie Charrett, Doug Hoffman, Scott Barber, Jerry Wienberg, Lisa Cripsin, Elizabeth Hendricksen etc.
Slack groups: The best professionals in test are on Slack. Join testersio.slack.com and womenintesting.slack.com (invitation only).
www.softwaretestingclub.com and the Ministry of Testing forum
2. TRAINING Code Training Resources: See https://www.test-ed.com.au/blog/catch-up-on-code
Sites free and paid: Codecademy.com | Wibit.net | pluralsight.com | Freecodecamp.org
Online Test Training Resources:
Rapid Software Testing Course (https://rapid-software-testing.com
Dojo Ministry: https://dojo.ministryoftesting.com/
Sydney Face to Face Training:
Exploratory Testing Course by Anne-Marie Charret
API Exploratory Testing by Anne-Marie Charrett
Introduction to Test Automation – Trish Khoo
Rapid Software Testing – James Bach / Michael Bolton
Test-Ed provides a number of free training ½ day and One day training courses on Enterprise Skills, Test and Code, join our mailing list.
3. BOOKS and must read ARTICLES:
There is a mother of all resources here: http://www.huibschoots.nl/wordpress/?page_id=441 And these articles are the must-reads:
Test Method: http://www.satisfice.com/testmethod.shtml
Heuristic Test Strategy Model: http://www.satisfice.com/tools/htsm.pdf
Test Estimation: http://www.satisfice.com/images/TestEstimationLandscape.pdf and Rapid Testing Framework
Systems Thinking, Problem Solving, DevOps, Lean:
A Practical Guide to Testing in DevOps by Katrina Cloakie
Fifty Quick Ideas to Improve your User Stories, by Gojko Adzic and David Evans
The Phoenix Project, Novel by Gene Kim, George Spafford, and Kevin Behr
The Lean Startup, by Eric Ries
4. CONCEPTS you should become familiar with:
Exploratory testing is a must have. It seems to be a buzz word that people associate either with adhoc testing or just exploring willy nilly around the software without much in the way of documentation. That is not what Exploratory testing is. This is a good article on what most clients mean by this term: http://www.satisfice.com/articles/et-article.pdf
A Systems thinking approach, this is a model that gets used and customised in the top tech companies. I recommend reading Gerald Weinberg’s book on “An Introduction to General Systems Thinking. A good basic model that’s been the grand-daddy of most test models is the Heuristic Test Strategy Model: http://www.satisfice.com/tools/htsm.pdf are used.
Context Driven testing approach (http://context-driven-testing.com/ and https://www.quora.com/What-is-the-Context-Driven-School-of-Testing-How-is-it-different-from-other-test-approaches ). Major thought leaders in this space are James Bach, Michael Bolton and Cem Kaner.
Lean thinking is driving startups and those companies people think of as leaders; Google, Atlassian etc. Familiarise yourself with what that is here: (https://www.youtube.com/watch?v=9bPgNEDdX3E )
Understanding Business models. Software solves problems in order to be paid. Technology is not separate from business. (https://www.youtube.com/watch?v=QoAOzMTLP5s ) Understanding business models gives you some intelligence and tools in order to prioritize around what is to be tested according to the needs & risks of users and stakeholders or anyone whose opinion matters.