1112016AcceptanceTestingInSoftwareDevelopment.pptx
- Количество слайдов: 25
ACCEPTANCE TESTING IN SOFTWARE DEVELOPMENT : Using: “APPROVAL TESTS LIBRARY” (also: visual studio useful extensions) Speaker: Serhii Voznyi 1 November 2016
AGENDA #1 Agile Development – Difference between TDD/ATDD/BDD ? #2 Using Approval Tests Library 2. 1 . NET Examples #3 Visual Studio Useful Extensions #4 Summary CONFIDENTIAL 2
#1 Agile Development – Difference between TDD/ATDD/BDD ? Firstly, Test Driven Development (TDD) which is a process of writing tests before writing code and make the test fail. Now write enough code so that test can pass and then at last refactor the code as per you requirement and make sure the test is passing again after the change. Now, the main focus of TDD will be on testing the low-level functionality and units (for single classes and methods) that can lead to more flexible code and easier refactoring. In a simple language we can say, we write these tests to check if the code we wrote works fine. Now, let us consider another approach which is Acceptance Test Driven Development (ATDD) that adds ‘A’ before TDD which stands for Acceptance. Now, why was this even needed? Wasn’t the TDD good enough and better? I would say no and the reason was that TDD was more of telling to make sure the code works fine but it did not say that if the code that is written was even required at first place. In ATDD the acceptance criteria are defined in early in application development process and then those criteria can be used to guide the subsequent development work. ATDD is a collaborative exercise that involves product owners, business analysts, testers, and developers. ATDD helps to ensure that all project members understand precisely what needs to be done and implemented. CONFIDENTIAL 3
#1 Agile Development – Difference between TDD/ATDD/BDD ? • As discussed earlier, the immediate obvious difference between TDD and ATDD is the ‘A’. While that may sound sarcastic, the point is that TDD (as usually practiced) has an implied U on the front, standing for Unit, while the A stands for Acceptance. TDD focuses on the low level, ATDD on high level. • So if ATDD leans towards the developer-focused side of things like [U]TDD does, the BDD is where the step of making it more customer-focused comes in. BDD is usually done in very English-like language, and often with further tools to make it easy for non-techies to understand, like Fitness for example. This allows much easier collaboration with non-techie stakeholders, than TDD. • By contrast, TDD tools and techniques are usually much more techie in nature, requiring that you become familiar with the detailed object model (or in fact create the object model in the process, if doing true test-first canonical TDD). The typical non-programming executive stakeholder would be utterly lost trying to follow along with TDD, let alone participate, and frankly shouldn’t be involved with that level of detail. • BDD focuses on the behavioral aspect of the system rather than the implementation aspect of the system that TDD focuses on. BDD gives a clearer understanding as to what the system should do from the perspective of the developer and the customer. TDD only gives the developer an understanding of what the system should do. CONFIDENTIAL 4
#2 USING APPROVAL TESTS LIBRARY http: //approvaltests. sourceforge. net CONFIDENTIAL 5
#2 USING APPROVAL TESTS LIBRARY CONFIDENTIAL 6
#2 USING APPROVAL TESTS LIBRARY C# Reporters Beyond. Compare. Reporter. cs Clipboard. Reporter. cs Diff. Reporter. cs File. Launcher. Reporter. cs Image. Reporter. cs Ms. Test. Reporter. cs Multi. Reporter. cs Notepad. Launcher. cs NUnit. Reporter. cs Quiet. Reporter. cs Win. Merge. Reporter. cs CONFIDENTIAL Java Reporters Clipboard. Reporter. java Diff. Reporter. java Environment. Aware. Reporter. java Executable. Query. Failure. java File. Launcher. Reporter. java First. Working. Reporter. Chain. java Generic. Diff. Reporter. java Image. Web. Reporter. java Junit. Reporter. java Multi. Reporter. java Note. Pad. Lancher. java Quiet. Reporter. java Text. Web. Reporter. java Tortoise. Diff. Reporter. java Win. Merge. Reporter. java 7
#2 USING APPROVAL TESTS LIBRARY CONFIDENTIAL 8
#2 USING APPROVAL TESTS LIBRARY CONFIDENTIAL 9
#2 USING APPROVAL TESTS LIBRARY CONFIDENTIAL 10
useful extensions CONFIDENTIAL 11
#3 VISUAL STUDIO USEFUL EXTENSIONS CONFIDENTIAL 12
#3 VISUAL STUDIO USEFUL EXTENSIONS CONFIDENTIAL 13
CONFIDENTIAL 14
#3 VISUAL STUDIO USEFUL EXTENSIONS CONFIDENTIAL 15
#3 VISUAL STUDIO USEFUL EXTENSIONS CONFIDENTIAL 16
#3 VISUAL STUDIO USEFUL EXTENSIONS CONFIDENTIAL 17
#3 VISUAL STUDIO USEFUL EXTENSIONS CONFIDENTIAL 18
#3 VISUAL STUDIO USEFUL EXTENSIONS CONFIDENTIAL 19
#3 VISUAL STUDIO USEFUL EXTENSIONS CONFIDENTIAL 20
#3 VISUAL STUDIO USEFUL EXTENSIONS CONFIDENTIAL 21
#3 VISUAL STUDIO USEFUL EXTENSIONS CONFIDENTIAL 22
#3 VISUAL STUDIO USEFUL EXTENSIONS CONFIDENTIAL 23
THANK YOU CONFIDENTIAL 24
Thanks for contribution LLEWELLYN FALCO AGILIST OF THE YEAR 2009 CONFIDENTIAL 25