Roro sydney hack night
Integration tests are generally fairly easy to write but maintenance can be time consuming when integration points are shared or under active development themselves. However, they are vital for ensuring that dependencies of the system you are building continue to work as you expect. These tests rarely give false negatives, run faster than acceptance tests but much slower than unit tests.
Unit Tests Tests which are fine grained, extremely fast and test behaviour of a single class or perhaps just a few related classes. They do not hit any external integration points. As unit tests are fast to write, easy to maintain when they focus on behaviour rather than implementation and run very quickly, they are effective for testing boundary conditions and all possible conditions and code branches.
Automated Test Strategy An important part of test strategy is to decide the focus of each type of test and the testing mix. So, why choose this sort of mix of tests?
This mix allows you to cover alternative code paths and boundary conditions in tests that run very fast at the unit level. There are many combinations of these and they need to be easily maintained. Hence unit tests fit the bill nicely. It would be inefficient to test your system logic with integration tests, since they would be slow, and you would not know if the failure was from your code or from the integration point. Finally, acceptance tests are the most expensive tests to write, run and maintain.
This is why it is important to minimise the number of these, and push down as much testing as possible to lower levels. Generally, they are best for testing scenarios. For example, a scenario might be: Student logs in to the portal, chooses subjects for the semester in a multi-step wizard, then logs out. It would be best to avoid fine grained acceptance tests — they would cost more than the value they would add — ie, it would be better they had never been written.
An example of such a test could be: Student chooses a subject and it is removed from the list of subjects available to be chosen. Both of these would be best pushed down to a unit test level.
If this is not possible, it would be best to include them in a larger scenario to avoid the set up overhead eg, for the error message test set up, it may be necessary to log in and enter data to get to step 3 of wizard before you can check if an invalid subject code error message is displayed. If defects come to light from exploratory testing, then discover how they slipped through the testing net.
If you have tried everything you can think of to improve lower levels of testing, and are still having too many defects creeping through, then consider upping your acceptance coverage. Finally, keep in mind there is a manual testing option. Team Roles and Tests Ideally it would be great to have developers who were interested in testing and the business, testers who knew how to code and the business context, and BAs who were interested in testing and coding too.
Ie, a team of people who could do each role in a pinch, but were more specialised in a particular area. Unfortunately this is pretty rare outside of very small companies with small teams. In a highly differentiated team, with dedicated Developers, BAs and QAs, this generally ends up with developers writing and maintaining unit tests, doing a lot of integration tests and helping out with acceptance tests. QAs generally write some integration tests and look after writing and maintaining acceptance tests with help from developers.
BAs are sometimes involved in the text side of writing acceptance tests. Often using such a tools is considered BDD and a good thing in a blanket way. Lets take a step back. BDD is about specifying behaviour, rather than implementation and encouraging collaboration between roles.
All good things. The converse is also true — if you write tests which are about implementation using an English language BDD framework, you are not doing BDD. Using an English language layer on top of normal code is expensive.
Also for many people who are used to reading code, the English language layer is less concise and slower to read than code for specifying behaviour. What do you get from an English language layer? It means that less technical people eg, business sponsor and BAs can easily read tests, and maybe just possibly, even write the English language half of tests. It is worth carefully weighing up the costs and benefits in your situation before deciding if you want to fork out the extra development and maintenance cost for an English language layer.
Unit tests and integration tests are not likely to pay dividends having an English language layer — non-technical people would not be reading or writing these tests. Acceptance tests are potentially the sweet spot. Writing these tests could really help bring the different roles on the team together and come to a common understanding. A middle ground is to generate readable reports from code based test frameworks.
With this approach you get a lot of the benefits with much less cost. Business people and BAs cannot write tests unaided, but they can read what tests ran a specification of the system in clear English. Traceability from Requirements A concept that most commonly comes up at companies doing highly traditional SDLCs is traceability from requirements all the way to code and tests.
Clearcase and some of the TFS tools are the children of this idea. Acceptance testing tools are often misused to automate far too many fine grained tests to attempt to prove that there is traceability from requirements.
I totally agree that in this small subset of systems, it is vital to specify the system exactly and mathematically and prove it is correct in all cases. However, the majority of business systems do not need to be specified in such detail or with such accuracy. Most business systems which people attempt to specify up front are written in natural language which is notorious for inexactitude and differing interpretations.
You want speakers to not just have a great speaking experience at your meetup, but they should feel happy to come back and deliver more content to your community. If there are people in the audience who are disrupting a speaker, then you are well within your rights as an organiser to caution them, or ask them to leave.
Some speakers are very confident in their personality and speaking skills, and sometimes even actively invite audience heckling for their own amusement. I think that everyone should be able to feel undaunted about giving a talk to their peers, knowing that they have the support of the room.
The benefits of a no-heckling policy far outweigh any charges of being a killjoy. In principle, I am fine with this for any new speaker, or speakers who have successfully delivered talks before. Anyone who has willingly taken on the Big Ask to provide content is already a hero in my eyes, and has my assumption of good faith ; I am not prepared to enforce conditions like vetting all talks, even if I had a mythical pipeline of eager speakers.
Finding content is hard enough, and the less obstacles to getting that content delivered at a meetup, the better. For the meetups I organise, this has not been an issue, aside from the very rare cases when it is.
But, ultimately, if you think that content delivered by a speaker at a meetup you organise or by anyone who has been given the floor to address the audience, including those pitching jobs has had a negative effect on your audience, could reflect badly on you as the organiser, or your ability to get an audience to a future meetup, then I think you are within your rights to either reject further submissions from them, or at least insist on a dry run of any talk prior to being accepted, where you can give feedback in the same way you would if they had actively requested it of you.
If the content delivered is just patently offensive or inappropriate, you have no obligation to let a speaker finish their talk. There are some problems I have yet to encounter while organising a meetup, that I hope I will never have to, but still occupy a slot in my list of worries.
Specifically, what if someone chokes on food provided at the meetup, or slips on something and falls, and an ambulance has to be called?
Or, what if someone drinks too much and decides to get violent with people or property, and police have to be called? Is anyone liable in this situation? If so, who? The venue? Me, personally? I am sure that the answer to this can vary drastically by jurisdiction and country, but I am wondering if there are any general rules of thumb to follow here, or maybe if I am worrying too much.
If you are knowledgeable about these kinds of issues, please reach out to me privately or share your experience or expertise in a comment. It would be great to learn more about this while in-person meetups are on hiatus. Engagement with any kind of work, like any good story, will have a beginning, middle, and end. Organising a meetup is no different: there will come a time where you will need to step back and divest yourself of organisational involvement in your meetup.
Assuming that your meetup has been created as its own entity, and is more than a cult of personality of your own making, you will likely want the meetup to outlast your involvement in it, if for no other reason than to continue your involvement as just another attendee. I think you now know everything that I do about organising meetups, save for perhaps some intuitive on-the-fly problem solving skills you naturally develop after having actually organised and run a few meetups and are impossible for me to enumerate coherently in this post.
I hope you are able to contribute to creating the kinds of communities you would like to see exist and thrive. My thanks go out to you for reading this all the way to the end, and also to all the previous and current organisers of meetups I am currently involved with, or have been previously involved with, whose shoulders I stand on:. Thanks also go to the organisers of other particular meetups I attend, and have been inspired by, or flagrantly stolen ideas from no surprises that they are also web development-focused groups :.
There are so many differing opinions about the ways to run meetups, that I have no doubt that there are ways I can improve the way I run mine. So, if you have any feedback, suggestions, or ideas, by all means please leave a comment or reach out to me directly. November 17, 4 minute read Audio Narration. Organising a meetup gave my Mum a new lease on life. October 17, 6 minute read Audio Narration. October 10, 6 minute read.
Well done! I feel like Leonardo da Vinci! October 6, 20 minute read. Floor and Varnish About Toggle search Toggle menu. Organise a Meetup Looking to take your love of meetups to the next level?
Try organising! Get notified of new posts! Well, becoming a meetup organiser ticks all of those boxes! So, this post aims to: Pitch the benefits of becoming a meetup organiser Share some anecdotes and experiences of my time as an organiser Share my ideas and opinions around preparing for and holding meetups, for your consideration Basically just brain dump everything I know about organising meetups There is a lot to go over, so strap yourself in.
Why become an organiser? However, by the end of the meetup, I had signed up for the following reasons: It would be a new experience. Social media is full of sleep tricks and tips to send you to the land of nod, but which ones actually work?
Relaxation is key for sleep as it allows us to lower our heart rate and unwind, but this can be difficult, The Sun reports. Dr Verena Senn, sleep expert at Emma Sleep said using a red light could be a new part of your routine. This allows your body to relax and for you to fall asleep more easily. Alex Nguyen, wellness expert at Hemp brand Area 52 said journaling is one trend which could actually help you nod off.
This might sound like a fad, but Alex says that drinking lettuce water can actually help you nod off due to lettuce containing high levels of lactucarium.
The next viral trend might also seem strange as it involves you laying awake with your eyes open.
0コメント