ATDD and Effective Exploratory Testing

By Alex Yakyma.

Acceptance Test-Driven Development heavily relies on automated scenarios that reflect the key behaviors of the system. Basically it represents the way and the team process to physically bind the requirements, expressed as acceptance tests, to the code. Besides these key acceptance tests, or in other words – examples of system functionality – teams normally also want to ensure that certain less obvious and less predictable behaviors are implemented correctly. "Less predictable" and "less obvious" does not mean that they are less probable. In fact, teams, by definition, have their "implementer bias" and may easily overlook things. That is the reason for exploratory testing – to look at the system from a new angle, to try scenarios that have not been tried before, to play with different combinations of environment and configuration settings, so on and so forth. This important effort involves both creativity on the part of testers and their hard work in running desirable scenarios under certain conditions. The process most often entails one more of the following problems:

• It consumes a lot of the testers' time. Very often they perform all or almost all operations manually, which, apart from the execution of desirable scenarios, also includes manual environment setup, data preparation as part of different upstream scenarios, etc.

• It takes developers a lot of extra time in the case that they create and maintain special harnesses for manual testing.

• The tests are not persistent. Even when the team performs some kind of automation, typically there is a considerable gap between the process of exploratory testing and the automation of those valuable new test scenarios obtained as a result of exploration. The gap is both in terms of time and skillset due to the fact that exploratory testing is often performed by manual testers while, most often, automation is done by developers or automated test engineers.

• Testers' options are mostly constrained to black box testing. System-level scenarios result from a combination of different conditional flows that occur in different parts of the code. The problem is that it is impossible to test the system by only operating at a high level – we simply experience a "combinatorial explosion" – a stratospheric number of scenarios.

 • The knowledge and context of sharing with developers is ineffective. While testers may play with certain type of system behaviors and even catch some interesting defects, there is almost no sharing of their tacit knowledge about the system with the developers, no collaborative analytical thinking, and no generalization or synthesis. There is no way to induce the specific useful implementation or design takeaways from the findings discovered during exploratory testing.

ATDD turns out to be very useful in creating certain behaviors and effects that help to address these problems. The secret is in the team's ability to quickly automate new scenarios, in the tooling, that turns out to be extremely useful, and in constant collaboration that drives ATDD process. Here is how it works.



ATDD relies on automation tools like Cucumber, SpecFlow, FIT, RobotFramework etc., which allow for defining scenarios in business language. These scenarios are then physically linked to the system by what is called "bindings" or "scenario step definitions" – little pieces of code that interpret the corresponding scenario steps, and run them against the system. Very often these steps are parameterized, so that, for example, this would be a step written in Gherkin language, which is used in tools like SpecFlow and Cucumber: "customer provides , and and whether this a permanent address". This enables testers to do exploratory testing at a whole new level: 

• Testers use the same tools as developers to "play with scenarios". The only difference is that they only play with the input parameters of an existing scenario steps, which does not require any coding. 

• When testers need a new step for exploratory testing that does not yet exist, they ask developers to create it. They often pair with developers to make sure that the right steps are built. 

 • When binding new key scenarios to the code, which happens as a part of the normal ATDD flow, testers and developers ensure that steps are properly parameterized so that testers could immediately use them for exploratory testing, apart from their primary function. Sometimes, however, teams decide to hide some hairy detail in the step bindings (usually for better readability). In such cases, testers may ask developers to simply create a "parameterized" version of the steps, which will be used primarily for exploratory testing. When the initial binding code is in place, this becomes a very quick operation. 

• By easily combining and running different steps with different input/output parameters, testers can more effectively capture unexpected outcomes. Here is the fun part: every finding can be captured as an automated test by simply replicating the set of steps with the specific set of parameters into a separate scenario file. 

 • Frequent collaboration between developers and testers flows very naturally this way. Developers immediately learn what is wrong with the system and testers learn to understand and to be able to read the binding code by looking behind the developer's shoulder and operate much better in terms of "white box" or at least "grey box" testing. There is nothing sophisticated about the binding code. In fact, it has to be fairly simple by definition - those who write automated scenarios leverage simplicity in order to prevent false positive or false negative scenarios. It is really that simple! 

After an iteration or two, this approach becomes so obvious and natural to testers that all they had normally done previously, in terms of exploratory testing, seems ridiculously inefficient to them. This approach allows them to explore more, but also to capture findings so they could be run over and over again. It helps testers externalize valuable knowledge and turn it into better software as a result of collaboration with developers.

105 comments:

  1. Hi, this is Johnson from Chennai. I have read your blog. It’s very informative and useful blog. You have done really great job. Keep update your blog. Selenium Training in Chennai

    ReplyDelete
  2. You shared useful post. Thanks for sharing such a useful post.

    web design training in chennai

    ReplyDelete
  3. Great article. Glad to find your blog. Thanks for sharing.

    digital marketing training in chennai

    ReplyDelete
  4. Wonderful post. Thanks for sharing such a useful post.

    selenium training in chennai

    ReplyDelete
  5. hello!!!
    That is very interesting; you are a very skilled blogger. I have shared your website in my social networks! A very nice guide. I will definitely follow these tips. Thank you for sharing such detailed article.
    dot net training in chennai

    ReplyDelete
  6. really you have posted an informative blog. it will be really helpful to many peoples. thank you for sharing this blog.
    android training in chennai

    ReplyDelete
  7. Have a great blog. This contant will be very nice to read. It will help to analysis the content for great blog.Thanks for sharing. Keep sharing more blogs.


    Dot Net Training in chennai

    ReplyDelete
  8. The Info shared was really helpful My sincere thanks for sharing this post Please Continue to share this kind of post
    Software Testing Training in Chennai

    ReplyDelete
  9. You have shared a very helpful and informative post. I am waiting for the next post. We must all admit that we are living in the world of change and many changes are driven by technology. Keep posting articles like this in future.
    Selenium Training in Chennai | Data Science Training in Chennai

    ReplyDelete
  10. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here.

    Data Science Training in Bangalore

    Datascience Training in Chennai

    ReplyDelete
  11. This comment has been removed by the author.

    ReplyDelete
  12. Interesting and informative article.. very useful to me.. thanks for sharing your wonderful ideas.. please keep on updating..
    Best Electrical Project Center in Chennai | Best Electrical Project Center in Velachery

    ReplyDelete
  13. Existing without the answers to the difficulties you’ve sorted out through this guide is a critical case, as well as the kind which could have badly affected my entire career if I had not discovered your website.selenium training in bangalore.
    .selenium training in chennai.

    ReplyDelete
  14. I have read your blog and I gathered some needful information from your blog. Keep update your blog. Awaiting for your next update.
    big data training in chennai|

    ReplyDelete
  15. I wish to show thanks to you just for bailing me out of this particular trouble.As a result of checking through the net and meeting techniques that were not productive, I thought my life was done.

    java training in bangalore

    ReplyDelete
  16. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here. digital marketing training in chennai

    digital marketing training in bangalore

    ReplyDelete
  17. Thanks for the useful information of Android courses, give more updates on Android development, First time I visit your blog really nice, I bookmark your blog here after a daily visit. Learn software testing training in Chennai

    ReplyDelete


  18. Very good informative article. Thanks for sharing such nice article, keep on up dating such good articles.
    Austere Technologies |Internet Of Things

    ReplyDelete
  19. I believe there are many more pleasurable opportunities ahead for individuals that looked at your site. Selenium Training In Bangalore | Best Selenium Training in Bangalore

    ReplyDelete
  20. Great article, really very helpful content you made. Thank you, keep sharing.

    Best Digital Transformation Services | Austere Technology Solutions

    ReplyDelete
  21. wow...nice blog, very helpful information. Thanks for sharing.

    Best Mobility Services | Austere Technology

    ReplyDelete
  22. Very good informative article. Thanks for sharing such nice article, keep on up dating such good articles.

    Best Software Security Services | Austere Technology

    ReplyDelete
  23. Really great blog, it's very helpful and has great knowledgeable information.

    Best Software Services Company | Austere Technology

    ReplyDelete
  24. Nice Blog, Thanks for sharing this valuable information. Keep sharing like this.

    Dot Net Training in Chennai

    ReplyDelete

  25. Great blog.you put Good stuff.All the topics were explained briefly.so quickly understand for me.I am waiting for your next fantastic blog.Thanks for sharing.Any coures related details learn...

    Angularjs course in chennai

    ReplyDelete
  26. I have read your blog completely. It is very impressive one for all the viewers. Thanks for sharing this blog.

    selenium training in chennai

    ReplyDelete
  27. Thanks for sharing the valuable information to share with us For more valuable information please visit our website.
    aws training in chennai

    selenium training in chennai

    ReplyDelete

  28. Thanks for sharing this informative article..!!
    Keep posting waiting for next post

    Java Training in Bangalore iOS Training in Bangalore

    ReplyDelete
  29. Great work. Quite a useful post, I learned some new points here.I wish you luck as you continue to follow that passion.

    Linux Admin Training
    Linux Training in Chennai

    ReplyDelete
  30. SKARTEC Digital Marketing Academy is an institute dedicated to meet the integrated marketing needs of the industry. Our Digital Marketing Course in Chennai is ideal for those, who wish to manage a successful and sustainable digital marketing strategy.

    This digital marketing certification explores all the core digital marketing and management concepts, techniques and disciplines from planning, implementation and measurement to success and failure factors. Enrolling in this marketing course will prepare you to join an exclusive community of highly-recognized digital marketing experts.

    Digital Marketing Course in Chennai
    Digital Marketing Training in Chennai
    Online Digital Marketing Training
    SEO Training in Chennai
    Digital Marketing Course
    Digital Marketing Training
    Digital Marketing Courses

    ReplyDelete
  31. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here.

    java training in chennai | java training in bangalore

    java training in tambaram | java training in velachery

    java training in omr

    ReplyDelete
  32. This is the best explanation I have seen so far on the web. I was looking for a simple yet informative about this topic finally your site helped me a lot.

    Selenium Training in Chennai
    Loadrunner Training in Chennai
    iOS Training in Chennai
    JAVA Training
    Big Data Training in Chennai
    Big Data Training

    ReplyDelete
  33. Outstanding blog thanks for sharing such wonderful blog with us ,after long time came across such knowlegeble blog. keep sharing such informative blog with us.
    Airport Management Courses in Chennai | Airport Management Training in Chennai | Airline Courses in Chennai | Airport Courses in Chennai | Airline and Airport Management Courses in Chennai

    ReplyDelete
  34. Read all the information that i've given in above article. It'll give u the whole idea about it.
    python interview questions and answers | python tutorials

    ReplyDelete
  35. Amazon has a simple web services interface that you can use to store and retrieve any amount of data, at any time, from anywhere on the web. Amazon Web Services (AWS) is a secure cloud services platform, offering compute power, database storage, content delivery and other functionality to help businesses scale and grow.For more information visit.
    aws online training

    ReplyDelete
  36. I believe there are many more pleasurable opportunities ahead for individuals that looked at your site.

    Java training in Chennai | Java training in Bangalore

    Java online training | Java training in Pune

    ReplyDelete
  37. This comment has been removed by the author.

    ReplyDelete
  38. Hi, Excellent Content, your blog is very useful and also interesting to read. Keep sharing this type of information.
    SEO Course Chennai
    SEO Course
    SEO Courses
    SEO Training Chennai

    ReplyDelete
  39. This is an awesome post.Really very informative and creative contents. These concept is a good way to enhance the knowledge.I like it and help me to development very well.Thank you for this brief explanation and very nice information.Well, got a good knowledge.

    Data Science course in Chennai
    Data science course in bangalore
    Data science course in pune
    Data science online course
    Data Science Interview questions and answers
    Data Science Tutorial

    ReplyDelete
  40. This comment has been removed by the author.

    ReplyDelete
  41. Whoa! I’m enjoying the template/theme of this website. It’s simple, yet effective. A lot of times it’s very hard to get that “perfect balance” between superb usability and visual appeal. I must say you’ve done a very good job with this.
    aws training in bangalore
    RPA Training in bangalore
    Python Training in bangalore
    Selenium Training in bangalore
    Hadoop Training in bangalore

    ReplyDelete
  42. This comment has been removed by the author.

    ReplyDelete
  43. Outstanding blog thanks for sharing such wonderful blog with us ,after long time came across such knowlegeble blog. keep sharing such informative blog with us.

    Check out : hadoop training in Chennai
    big data training in chennai
    big data hadoop training in chennai
    big data training and placement in chennai

    ReplyDelete
  44. مع شركة رش المبيدات الحشرية في الدمام والعديد من خدماتنا في الدمام قائمة الخدمات أعلاه الاتصال فقط في أي وقت خلال ساعات النهار أعلى جودة الخدمة وأدنى سعر
    شركة مكافحة النمل الابيض
    شركة مكافحة النمل الابيض بالخرج
    شركة مكافحة حشرات بالخرج
    شركة رش مبيدات بالخرج

    ReplyDelete
  45. I am happy for sharing on this blog its awesome blog I really impressed. thanks for sharing. Great efforts.

    Looking for SAP SD Training in Bangalore, learn from eTechno Soft Solutions SAP SD ADMIN Training on online training and classroom training. Join today!

    ReplyDelete
  46. I am inspired with your post writing style & how continuously you describe this topic. After reading your post, thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic also visit Tableau Training videos l page and check for training

    ReplyDelete
  47. Nice post..Thanks for sharing the information...
    https://www.elegantitservices.com/Best-Hadoop-Training-Institutes-in-Bangalore.html

    ReplyDelete
  48. I was just browsing through the internet looking for some information and came across your blog. I am impressed by the information that you have on this blog. It shows how well you understand this subject. Bookmarked this page, will come back for more.

    machine learning course

    artificial intelligence course in mumbai

    ReplyDelete
  49. Indeed a great article! I am definitely going to bookmark it to go through it over again after work. It seems to cover the major information about the topic in points.
    SAP training in Mumbai
    SAP course in Mumbai
    SAP training institute Mumbai

    ReplyDelete
  50. Very informative post! There is a lot of information here that can help any business get started with a successful social networking campaign.
    IELTS training in chennai

    German Classes in Chennai

    GRE Coaching Classes in Chennai

    TOEFL Coaching in Chennai

    spoken english classes in chennai | Communication training

    ReplyDelete
  51. I am looking for and I love to post a comment that "The content of your post is awesome" Great work!

    Simple Linear Regression

    Correlation vs covariance

    KNN Algorithm

    ReplyDelete
  52. Thanks for sharing informative post. Keep on sharing such useful information. Limo Hire Melbourne | Wedding Car Hire Melbourne

    ReplyDelete
  53. This comment has been removed by the author.

    ReplyDelete
  54. Do not merely rely on an academic company because it offers writing services. Get a reliable service that will meet your academic needs. A good writing service like our own will ensure you deliver premier papers, deliver your assignments on time, cope with lots of college assignments and relieve stress associated with an academic workload. An establishment that does not provide a guarantee of such services is not fit to allow you to buy essay papers from it. https://www.masterpapers.com/

    ReplyDelete
  55. Thanks for this article and in my turn wanna recommend you these guys
    https://expert-writers.net/

    ReplyDelete
  56. This comment has been removed by the author.

    ReplyDelete
  57. This is extremely great information for these blog!! And Very good work. It is very interesting to learn from to easy understood. Thank you for giving information.
    DevOps Training in Chennai

    DevOps Course in Chennai

    ReplyDelete
  58. You completed certain reliable points there. I did a search on the subject and found nearly all people will agree with your blog.
    data science training institute in hyderabad

    ReplyDelete
  59. Aimore Technologies offers Data Analytics Courses In Chennai with 10+ years of experience. We are offering online and classroom training. Visit Us: Data Analytics Courses In Chennai

    ReplyDelete
  60. เล่นสล็อตออนไลน์ ยอดฮิตของคนรุ่นใหม่ ไฟแรงแห่งปี 2022 ที่ต้องการจะมีรายได้เป็นของตัวเอง ต้องยกให้กับ PG SLOT ที่เอาใจเหล่านักพนันทุกเพศทุกวัย ที่เว็บของเรา PG-SLOT.GAME

    ReplyDelete
  61. Explore the world of Ethical Hacking through our intensive training course in Bangalore. Gain hands-on experience in penetration testing, cryptography, and social engineering to become a skilled ethical hacker.

    ReplyDelete