{"id":801,"date":"2018-05-29T08:57:50","date_gmt":"2018-05-29T08:57:50","guid":{"rendered":"http:\/\/companies.mybroadband.co.za\/dvt\/?p=801"},"modified":"2023-10-03T06:49:08","modified_gmt":"2023-10-03T06:49:08","slug":"get-your-software-testing-ducks-in-a-row","status":"publish","type":"post","link":"https:\/\/companies.mybroadband.co.za\/dvt\/2018\/05\/29\/get-your-software-testing-ducks-in-a-row\/","title":{"rendered":"Get your software testing ducks in a row"},"content":{"rendered":"<p><a href=\"https:\/\/companies.mybroadband.co.za\/dvt\/files\/2018\/05\/20170306_0120.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-803 size-full\" src=\"https:\/\/companies.mybroadband.co.za\/dvt\/files\/2018\/05\/20170306_0120.jpg\" alt=\"\" width=\"640\" height=\"430\" srcset=\"https:\/\/companies.mybroadband.co.za\/dvt\/files\/2018\/05\/20170306_0120.jpg 640w, https:\/\/companies.mybroadband.co.za\/dvt\/files\/2018\/05\/20170306_0120-300x202.jpg 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p><em>By Mario Matthee, Head: SQA Architecture and R&amp;D, DVT<\/em><\/p>\n<p>One of the most significant and common issues I\u2019ve noticed with recent test automation projects is environment preparation \u2013 or rather lack thereof.<\/p>\n<p>Too many companies seem to want to jump into test automation or performance testing without first getting their ducks in a row; in other words, while the will and the funding might be there, the optimal conditions for testing are not.<\/p>\n<p>Some but not all of this lack of preparedness comes down to cost. It\u2019s easier for a startup organisation writing its own app to take full control of the development and testing process, and therefore limit the cost of provisioning a dedicated testing environment.\u00a0 Whereas a larger organisation like a bank would need to provision multiple environments \u2013 development, QA, production and so on \u2013 all of which costs money.<\/p>\n<p>To cut costs, some limit their environments to development and production, which makes testing extremely challenging. You ideally don\u2019t want to be testing in a business-critical development or production environment, because test automation needs stability and predictability to work properly, neither of which can be guaranteed with ever-changing data sets in development and production environments.<\/p>\n<p>Which brings up the next challenge \u2013 data. As testers, data preparedness consumes most of our (down)time. The best-case scenario is being able to reuse data for testing; otherwise, you\u2019d need to obtain massive data sets for test automation and then provision the infrastructure, establish security access and get the different systems talking to each other to be able to use the data. This could cause significant delays. On a recent project, we encountered a three-month delay between the estimated start time and the data and environment being made available for testing.<\/p>\n<p>Reusing data makes sense. For example, as a tester I can commit a transaction into the system, track the transaction through the system, and once confirmed successful by the test automation scripts, I can delete all traces of that transaction from the system as if it never happened. Of course, you\u2019d want to have safety nets in place to ensure the scripts can\u2019t operate in any part of the production system, but once these are in place, you are no longer subject to the delays of procuring massive data sets or setting aside large chunks of your physical resources purely for testing.<\/p>\n<p>From an Agile perspective, it\u2019s also important to get your environment ready before embarking on a Scrum process. And by environment, I mean your full environment \u2013 don\u2019t make the mistake of thinking you won\u2019t need certain parts of the environment, like QA, to get the process started, because as soon as the release cycle begins and starts changing and you suddenly realise QA is needed now \u2013 not tomorrow or next week \u2013 the delays kick in, which can have a domino effect on the viability of the entire project.<\/p>\n<p>Getting your environment ready in advance means getting your business and IT and infrastructure teams involved from the start, and also getting a maintenance team in place checking the environment as often as needed to keep it optimally functional for testing. My suggestion here is to focus on the \u2018golden threat\u2019 \u2013 if you have one system that supports three different systems, make sure they\u2019re all communicating with each other. Remember the domino effect and delays it can cause if you don\u2019t.<\/p>\n<p>Also, getting your environment ready doesn\u2019t necessarily mean having all the functionality in place \u2013 remember you\u2019re just making sure the conditions and connections are set up and ready for testing, so as your developers start importing code and making changes to that code, you\u2019re ready with your scripts and (reusable) data sets to test it.<\/p>\n<p>Yes, there are alternatives available if reusing data isn\u2019t an option. Solutions like Docker and Kubernetes come to mind, where you can spin off your environment for testing purposes. These solutions bring with them their own costs and challenges, but at least we\u2019re moving in the right direction. As soon as we make environment initiation and preparedness part of the total solution, we immediately have a better handle on the challenges we face and make it easier for testers and developers to do their work.<\/p>\n<p>So, before you set off on your next project, ask yourself: are my ducks in a row? What is my strategy around environment and data management? Ask this after the fact, and you risk the seemingly endless purgatory of project delays and, ultimately, project failure.<\/p>\n<h3>DVT<\/h3>\n<p>DVT is a software development and testing company that focuses on digital transformation technology solutions for clients globally. Its services include custom software development for mobile, Web and traditional platforms, software quality assurance, automated regression testing, UX\/UI design, cloud application services, BI and data analytics solutions, project management, business analysis, DevOps and Agile training and consulting. Founded in 1999, DVT has grown to over 700 staff with offices in the UK (London) and South Africa (Johannesburg, Centurion, Cape Town and Durban). DVT is a company within the software and technology group Dynamic Technologies.<strong> <a href=\"http:\/\/www.dvt.co.za\">www.dvt.co.za<\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>By Mario Matthee, Head: SQA Architecture and R&#038;D, DVT.<\/p>\n","protected":false},"author":28,"featured_media":803,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-801","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/companies.mybroadband.co.za\/dvt\/wp-json\/wp\/v2\/posts\/801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/companies.mybroadband.co.za\/dvt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/companies.mybroadband.co.za\/dvt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/companies.mybroadband.co.za\/dvt\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/companies.mybroadband.co.za\/dvt\/wp-json\/wp\/v2\/comments?post=801"}],"version-history":[{"count":1,"href":"https:\/\/companies.mybroadband.co.za\/dvt\/wp-json\/wp\/v2\/posts\/801\/revisions"}],"predecessor-version":[{"id":805,"href":"https:\/\/companies.mybroadband.co.za\/dvt\/wp-json\/wp\/v2\/posts\/801\/revisions\/805"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/companies.mybroadband.co.za\/dvt\/wp-json\/wp\/v2\/media\/803"}],"wp:attachment":[{"href":"https:\/\/companies.mybroadband.co.za\/dvt\/wp-json\/wp\/v2\/media?parent=801"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/companies.mybroadband.co.za\/dvt\/wp-json\/wp\/v2\/categories?post=801"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/companies.mybroadband.co.za\/dvt\/wp-json\/wp\/v2\/tags?post=801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}