DevTest Summit Scotland 2018 took place last week on 30th October, hosted at the Glasgow Marriott Hotel. The day paved way to a host of keynotes, Q&A panels and small group seminars covering a range of technical topics including software testing, DevOps and the future of testing. Swarmers Eugene Zhernakov (Test Analyst) and Michael McCulloch (Senior Engineer) went along and have shared some of the event highlights with us…
Creating a Successful Continuous Testing Environment – Eyal Yovel
Eyal Yovel, Senior Engineer from Perfecto – a Cloud-based Platform for Continuous Testing started the morning off with a talk on the importance of continuous testing within a DevOps pipeline. Highlights of the talk covered points such as:
- Test per commit
Ensure your Continuous Integration/Development (CI/CD) environment is configured to run a testing pipeline upon every commit into a deployment branch. Automated testing performed as part of this pipeline should bridge the gap between development and integration efforts.
- Gauge maturity of your DevOps
Review what current pipelines exist within the system and look for bottlenecks which can be simplified or broken down into more manageable chunks.
- Integrate live mobile and web devices
Follow a “fail fast fail often” approach testing on live devices for instant feedback on each build release. Implement a mobile testing suite using tools such as Espresso, Appium, or XCUITests.
The key pillars of Continuous Testing (CT) was also a glowing topic of the presentation and included the following key takeaways:
- Create a robust Continuous Testing (CT) Plan and let that drive your DevOps pipeline.
- Start small and define a strong foundation.
- Continue small and grow iteratively as your application becomes more complex.
- Manage and measure your DevOps pipeline, act on slower response times or flaky tests.
- Leverage reporting and analytics.
1st DevTest Q&A Panel
After a short coffee break, there was a Q&A panel on the topic of “The Future of Senior Testers” where a few questions were posed. This generated a fairly productive discussion around topics such as:
- Where do test leads go after large projects end?
This prompted a few delegates to share their experiences in being pushed to the sidelines after a flashy expensive project finishes and how they coped with the challenge of not having a team to lead.
- How do manual testers handle the transition into automation?
Several points were raised about companies not willing to invest in training costs involved in getting manual testers up to speed with automation basics and how a lot of staff are forced to pursue self-learning options instead.
- Should companies embrace techniques such as “Mob Programming” more often?
A technique which involves a small team of 1-2 devs, 1 business analyst and a tester, all working to deliver a single feature, working within a unified development environment. This kind of programming helps share knowledge, diversify, and compliment people’s skillsets.
- How much value do testers bring to the business?
A few attendees brought up the topic of getting business buy-in for more testing resource, and the challenges which this brings. It was highlighted that at times, it is more difficult for test leads to convince senior members of the company to retain a team of testers after a big project ends.
- Seek mentorship from others
One of the reoccurring topics was to seek mentorship from people in higher up positions, both in technical and business oriented roles.
- Is AI the future of software testing?
An open question was posed to the attendees on the topic of AI and if this will swallow up quality assurance jobs in the future. Several delegates pointed out that there will still be a requirement for humans to administer and train AI models to effectively carry out the testing. As long as humans are using software, there will always be an element of human-based testing.
Continuous Integration Tips & Tricks – Paul Dragoonis
Paul Dragoonis, an Independent Consultant, opened up the second keynote presentation at DevTest with tips & tricks for continuous integration using Jenkins. This was one of the more technical talks, and included code snippets for configuring pipeline steps and the shell scripts that accompany them. There was an emphasis on the use of Blue Ocean which is the Jenkins own pipelines implementation. GoCD and DroneCD, and QuayIO were also mentioned as good cloud services to use for their intended purposes, but ultimately teams should be going all in on Jenkins as it offers better functionality and a solid foundation which you can build up upon, however it requires more setup and maintenance.
Start Left – Lee Crossley
The DevTest Summit then split into two tracks, with delegates given a choice of attending either one – we chose to go and see the session by Lee Crossley (Head of Automation at 2i). This talk focused mainly on involving testers early on in the development and planning process. A few key points we took away from the talk were:
- Get test representation involved as early as possible in the project
Estimating exercises and scoping work becomes more valuable and accurate with quality assurance members of the team involved earlier on in the process.
- The cost of defects rise quickly
Aim to identify issues early on, so you can better manage them in the subsequent sprints, rather than bundling defects towards the end when the cost to fix is high.
- Pursue a minimum of 80% test coverage
Get management buy-in early on in the project and work with developers to increase unit test coverage.
- Diverse teams result in good teams
Having a wide range of principles, background and experiences within a team will help enhance the overall functionality as well as how the team gels together.
DevOps Evolution – Panoptic Culture
The final DevTest talk we attended was part of the first track, and this was headed up by Kevin Cameron (DevOps Transformation Lead) and Callum Fay (Associate) from JP Morgan Chase. The focus of the presentation was taking a panoptic, or birds-eye view on DevOps and breaking complex processes into smaller, manageable chunks.
- Get your team into the right mindset for DevOps
Start small, narrow down bottlenecks in your pipeline and break them down in an agile way.
- Generate a value stream map for your deployments
Doing this will allow you to see where the most problematic sections of your process are located, whether this is business sign off, or waiting for machines to spin up.
- Tackle improvements/changes in short chunks
When you do it this way, you are able to work out your velocity, this enables better estimates for effort required.
- Prioritise your work
Less mundane and more value-adding tasks means management get faster time-to-market and developer teams are more efficient.
- Involve different teams and roles
No reason to separate duties, everyone is working towards the same end goal.
- Keep learning
Introduce “ship-it days” or “read-only (no commits) Friday” and create an environment for learning and sharing information.
- Embrace and understand failure
Limit finger-pointing from retrospective meetings, conduct “blame-free post-mortems”, such meetings hold so much value if done correctly.
We thoroughly enjoyed the DevTest conference and took away a considerable amount of value from the various talks and interactive sessions. The event was very well organised and the venue suited a smaller summit like this one. We would definitely aim to go again next year – perhaps take part in the exhibitor raffle next time!