jm + unit-testing 6
Working Effectively with Unit Tests
december 2014 by jm
$14.99 ebook, recommended by Steve Vinoski, looks good
unit-testing
testing
ebooks
jay-fields
tests
steve-vinoski
coding
december 2014 by jm
ImperialViolet - Apple's SSL/TLS bug
february 2014 by jm
as we all know by now, a misplaced "goto fail" caused a critical, huge security flaw in versions of IOS and OSX SSL, since late 2012.
Lessons:
1. unit test the failure cases, particularly for critical security code!
2. use braces.
3. dead-code analysis would have caught this.
I'm not buying the "goto considered harmful" line, though, since any kind of control flow structure would have had the same problem.
coding
apple
osx
ios
crypto
ssl
security
goto-fail
goto
fail
unit-testing
coding-standards
Lessons:
1. unit test the failure cases, particularly for critical security code!
2. use braces.
3. dead-code analysis would have caught this.
I'm not buying the "goto considered harmful" line, though, since any kind of control flow structure would have had the same problem.
february 2014 by jm
Don’t Overuse Mocks
may 2013 by jm
hooray, sanity from the Google Testing blog. this has been a major cause of pain in the past, dealing with tricky rewrites of mock-heavy unit test code
mocking
testing
tests
google
mocks
unit-testing
may 2013 by jm
Hermetic Servers
may 2013 by jm
'What is a Hermetic Server? The short definition would be a “server in a box”. If you can start up the entire server on a single machine that has no network connection AND the server works as expected, you have a hermetic server! This is a special case of the more general “hermetic” concept which applies to an isolated system not necessarily on a single machine.
Why is it useful to have a hermetic server? Because if your entire [system under test] is composed of hermetic servers, it could all be started on a single machine for testing; no network connection necessary! The single machine could be a physical or virtual machine.'
These also qualify as "fakes", using the terminology Martin Fowler suggests at http://martinfowler.com/bliki/TestDouble.html , I think
google
testing
hermetic-servers
test
test-doubles
unit-testing
Why is it useful to have a hermetic server? Because if your entire [system under test] is composed of hermetic servers, it could all be started on a single machine for testing; no network connection necessary! The single machine could be a physical or virtual machine.'
These also qualify as "fakes", using the terminology Martin Fowler suggests at http://martinfowler.com/bliki/TestDouble.html , I think
may 2013 by jm
You probably shouldn’t use a spreadsheet for important work
april 2013 by jm
Daniel Lemire comments on the recent cases of bugs in spreadsheets causing major impact:
Agreed on all three, particularly on the impossibility of testing. IMO, everyone who may be in a job where automation via spreadsheet is likely, needs training in SDE fundamentals: unit testing, the important of open source and open data for reproducibility, version control, and code review. We are all computer scientists now.
spreadsheets
excel
coding
errors
bugs
testability
unit-testing
testing
quality
sde
sde-fundamentals
dry
There are several critical problems with a tool like Excel that need to be widely known:
* Spreadsheets do not support testing. For anything that matters, you should validate and test your code automatically and systematically;
* Spreadsheets make code reviews impractical. To visually inspect the code, you need to click and each and every cell. In practice, this means that you cannot reasonably ask someone to read over your formulas to make sure that there is no mistake;
* Spreadsheets encourage redundancies. Spreadsheets encourage copy-and-paste. Though copying and pasting is sometimes the right tool, it also creates redundancies. These redundancies make it very difficult to update a spreadsheet: are you absolutely sure that you have changed the formula throughout?
Agreed on all three, particularly on the impossibility of testing. IMO, everyone who may be in a job where automation via spreadsheet is likely, needs training in SDE fundamentals: unit testing, the important of open source and open data for reproducibility, version control, and code review. We are all computer scientists now.
april 2013 by jm
serverspec - unit tests for servers
(via Dave Doran)
via:dave-doran
puppet
testing
chef
cfengine
unit-testing
ops
provisioning
serverspec
rspec
ruby
april 2013 by jm
With serverspec, you can write RSpec tests for checking your servers are provisioned correctly. Serverspec tests your servers' actual state through SSH access, so you don't need to install any agent softwares on your servers and can use any provisioning tools, Puppet, Chef, CFEngine and so on.
(via Dave Doran)
april 2013 by jm
related tags
apple ⊕ bugs ⊕ cfengine ⊕ chef ⊕ coding ⊕ coding-standards ⊕ crypto ⊕ dry ⊕ ebooks ⊕ errors ⊕ excel ⊕ fail ⊕ google ⊕ goto ⊕ goto-fail ⊕ hermetic-servers ⊕ ios ⊕ jay-fields ⊕ mocking ⊕ mocks ⊕ ops ⊕ osx ⊕ provisioning ⊕ puppet ⊕ quality ⊕ rspec ⊕ ruby ⊕ sde ⊕ sde-fundamentals ⊕ security ⊕ serverspec ⊕ spreadsheets ⊕ ssl ⊕ steve-vinoski ⊕ test ⊕ test-doubles ⊕ testability ⊕ testing ⊕ tests ⊕ unit-testing ⊖ via:dave-doran ⊕Copy this bookmark: