Acceptance Testing | Webinar

preview_player
Показать описание
Writing and maintaining a suite of Acceptance Tests that can give you a high level of confidence in the behaviour and configuration of your system is a complex task. In this talk Dave Farley will describe approaches to Acceptance Testing that allow teams to: work quickly and effectively; build excellent functional coverage for complex enterprise-scale systems; manage and maintain those tests in the face of change, and of evolution in both the codebase and the understanding of the business problem.

This talk will answer the following questions, and more: How do you fail fast? How do you make your testing scalable? How do you isolate test cases from one-another? How do you maintain a working body of tests when you radically change the interface to your system?

Bring your questions along for the Q&A at the end of the presentation.

--------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------



Рекомендации по теме
Комментарии
Автор

Honestly, you could learn almost everything about what it means to be a software developer from one man, by watching and listening to Dave Farley. Now if you also read his books, you're 99% there. Then if you follow his recommendations for other people that you should read/watch/listen to, you're well on your way to becoming a veteran developer, a true software engineer like Dave himself!

PaulSebastianM
Автор

I totally get the concept of "system under test" -- I am just a little unsure what constitutes a "system" in a micro-serviced based architecture. Here is a quick scenario - A Web app with a backend layer (bff) that simply orchestrates calls to 4 other microservices. A user story with acceptance criteria may span multiple microservices. I implement a protocol driver that interacts with the web app because I want to test the system from the user's perspective... Is it wrong to have all microservices involved in that user story spun up and serving real requests? Or would you expect each service to have it's own acceptance tests and be tested completely in isolation? In other words, is the system the entire suite required to execute the user story or is it the individual parts? This is particularly relevant in self-contained systems architecture. Would love your thoughts! Thank you for all the incredible content!

jordanschwartz
Автор

At 57:55 you mention something along "Tests running against In-Memory-Database are not Acceptance Tests"

I think those tests are valuable and should be part of your test harness to give you fast feedback. Depending on the structure of the tests I would also call them "Acceptance Tests".

PS: The whole test harness is a mixture of tests that give you lots of confidence

PeterGfader
Автор

Key take away: Boundary and interface.

kahnfatman
Автор

Hi Dave. Thanks a lot for the webinar. Could you share a bit how junit was used to run the tests conditionally and to inject different protocol drivers? I assume someone wrote a junit extension to do this, but I wanted to confirm it.
Also can you share a bit how the data was created behind the scenes? I find this aspects one of the most complicated ones, which also makes the test more difficult to understand.

FourTetTrack
Автор

When you use the generated names, how do you refer to that name later in the test. Do you make the created instruction return the generated name ? If so, isn't it less readable and more cumbersome to understand than plain string, when the test fails ?

jean-baptistepotonnier
Автор

With all these different tests one has to write, code required for testing is definitely going to exceed code being tested. Still, these tests won't catch all bugs.

Soon, we will need to write code to test the code for testing the main code.

awmy
Автор

How do you maintain isolation for tests that use the controllable clock. How can two tests both controlling the clock be executed at the same time?

jean-baptistepotonnier
Автор

Thanks for the fantastic Podcast :-)
What are your thoughts about automated real UI End-to-End Tests that will go through the whole Environment as a completion of the test methods you mentioned?
Let's say you have a complex environment with several systems and several DevOps Teams. If each team only tests its own system with isolated tests (with API and UI Tests), will that be enough to make sure that End-to-End Processes are still working, so that no higher level Tests are needed?
What would you suggest for a strategy in mixed environments where DevOps systems have interfaces with legacy systems and different delivery models?

felixwidrig
Автор

Is the book available in India as well?

gauravpareek
Автор

Please tell us how you got to be a cd expert.

dosomething
Автор

I appreciate the work you do Dave, but line 2 at 22:17 is making my nose bleed

lkyuvsad
Автор

Completely unrelated question: do you speak Japanese? I see a 継続的デリバリー book on the shelf...

glhrmcosta