-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Week 2 - TDD #5
Comments
@Joshua-Ronan-Phillips @sohilpandya we think it should be week 1. WEEK 1 -
|
|
|
Frontend testing - simpler workshop than stopwatch, maybe write tests for simple maths functions that people can already visualise what will be the output. |
Conor and Matt
|
Day 1: Intro into TDD
Day 2: Workshop -TDD Building a simple program using Q Unit
Day 3: Workshop - Asynchronous in more detail
|
@mantagen @Joshua-Ronan-Phillips @Conorc1000 @rug1 @naazy WEEK 1. TDD and introduction to methods/functional programming. |
@jackcarlisle @Jbarget @hdrdavies @katpas
|
Agreed by all of FAC6 Week 2 Structure Day 1 - Intro to TDD (as Jack and Justen have suggested above). Learning objectives. Morning challenges - array methods and functional programming introduction. |
@rug1 simpler TDD Project, simple maths function ... https://github.com/dwyl/learn-tdd#scenario-vending-machine-change-calculator-micro-project ? |
@nelsonic we will be using the simple vending machine one as part of a workshop on monday. |
@sohilpandya The only comment I made before the planning started yesterday was that if we don't introduce TDD in week 1, week 2 is already too late in my experience, it gets put to one side as 'too much work' after the week it's brought in. |
On the readme, I would suggest that teaching people the mechanics of TDD before actually explaining what TDD is (down as day 2 in your suggested timetable) goes against what FAC6 discussed multiple times in the stop go continue - when the readme days provide context, they should be on the Monday. (Conversely, when the workshop days provide a more guided understanding, they should be on the Monday - but that's not the case here). And a question: Are you still planning on using the dwyl TDD tutorials as we used for FAC6? Do they need to be iterated on (I know you were simplifying Natalia's Git tutorial for week 1 for example)? |
@iteles I'm not sure we can really say that 'week 2 is too late in [our] experience' seeing as far as I can tell there has never been a successful inculcation of TDD on any FAC! On FAC 5 there was a bit of BDT (Badge Driven Testing) but not a whit of Test Driven Development. There was also quite a bit of harmful mocking and general weirdness in pursuit of coverage badges. |
@iteles Regarding TDD being week 1, the consensus in the room was that we were overwhelmed with week 1 as it was, but we still think TDD is a must, so we have made the whole of week 2 focused around TDD, and shifted rest of the course back a week. we are hoping that this will get TDD ingrained into how they work. 😄 |
@rjmk totally agree that "Badge Driven Testing" is probably not the best idea (at least until people _understand why_ they are testing their code...) ... harmful mocking indeed ... 😞 Yes, we do not have much experience with TDD in FAC because FAC3 did zero unit/functional/acceptance testing during their course, FAC4 barely did any testing and some of FAC5 did not embrace the idea of testing their work because they did not feel the pain of not having tests. But, in our professional experience, once a team/project is launched without tests its rare to adopt the TDD discipline because there is never "enough time" to write tests retrospectively for existing code ... and as a result most people "out there" don't test their work ... 😭 Ask @ronanyeah @benjaminlees or @adamdiy who have gone out into the industry and seen/felt the pain of working on projects without tests ... maybe @ronanyeah should come in and tell FAC7 how much of his life has been wasted trying to build on code without tests. |
@nelsonic If the concern is that people will not retroactively test their code, that doesn't seem to give much reason to introduce TDD in week 1. We start a new project every week anyway! |
@rjmk the concern is based on the painful experience of working with (too many) people who refused to write tests on the grounds that it "takes longer" and then leave the team/company with a shoddy codebase ... Similar to documentation unless its captured in a Readme |
@nelsonic Good examples re: readmes! 😆 Re: testing, I think I'm misunderstanding the concern. It sounds something like
but that doesn't sound like I'm getting your gist. I'm not saying that it's not true that TDD needs to be taught in the first week. I'm just saying that the evidence we have from previous FACs doesn't really have much to say about whether that's true or not. Obviously you have a lot of other relevant experiences and I recognise that I am speaking from a position of relative ignorance. I would still like to see why the first week of FAC is a special opportunity for teaching TDD. |
@rjmk === |
No description provided.
The text was updated successfully, but these errors were encountered: