The Obstacle Is the Way: The Timeless Art of Turning Trials into Triumph by Ryan Holiday
My rating: 5 of 5 stars
A perfect book to carry with you everywhere. The chapters are short and standalone so you can skip them or jump around or re-read certain chapters without it interrupting the flow of the book.
View all my reviews
Jerry Yoakum's thoughts on software engineering and architecture from experience working with code, computer science, python, java, APIs, NASA, data mining, math, etc.
Wednesday, August 07, 2019
Monday, July 29, 2019
Absence of Errors Fallacy
Though copious errors guarantee worthlessness, zero errors says nothing about the value of software. This is Gerald Weinberg's "Absence of Errors Fallacy." It really puts testing into perspective. It also puts all software engineering and management into perspective. The first part of the principle is obviously true; software with many errors is useless. The second part provides food for thought. It says that, no matter how hard you work to remove errors, you are wasting your time unless you are building the right system. Akao's Quality Function Deployment provides details on one method of ensuring that you are building the right system throughout the live cycle. A corollary to this principle is that all the formal methods, all the testing, and all the product assurance in the world won't help if you are building the wrong system.
Reference:
Weinberg, G., Quality Software Management, Vol. 1: Systems Thinking, New York: Dorset House, 1992.
Reference:
Weinberg, G., Quality Software Management, Vol. 1: Systems Thinking, New York: Dorset House, 1992.
Shakedown
Doctor Who: Shakedown by Terrance Dicks
My rating: 4 of 5 stars
Can you really have a Doctor Who story that is not about Doctor Who? Yes! In fact, this story is certainly better for having so little focus on the Doctor.
View all my reviews
My rating: 4 of 5 stars
Can you really have a Doctor Who story that is not about Doctor Who? Yes! In fact, this story is certainly better for having so little focus on the Doctor.
View all my reviews
Wednesday, July 17, 2019
Doctor Who: The Mind of Evil
Doctor Who: The Mind of Evil by Terrance Dicks
My rating: 3 of 5 stars
The BBC Audio is from the television soundtrack which leaves a fair amount of detail out. It is okay if you are a Doctor Who fan and know who the characters are but in no way should it be considered a standalone book.
View all my reviews
My rating: 3 of 5 stars
The BBC Audio is from the television soundtrack which leaves a fair amount of detail out. It is okay if you are a Doctor Who fan and know who the characters are but in no way should it be considered a standalone book.
View all my reviews
Tuesday, July 02, 2019
When to Rob a Bank
When to Rob a Bank by Steven D. Levitt
My rating: 3 of 5 stars
There are a few gems in here that should be revisited and reframed for today. There is also a lot that was only relevant in the past. Overall, it is worth reading but maybe with an eye to skipping anything that seems overly out-of-date.
View all my reviews
My rating: 3 of 5 stars
There are a few gems in here that should be revisited and reframed for today. There is also a lot that was only relevant in the past. Overall, it is worth reading but maybe with an eye to skipping anything that seems overly out-of-date.
View all my reviews
Sunday, June 30, 2019
Wayne of Gotham
Wayne of Gotham by Tracy Hickman
My rating: 2 of 5 stars
While reading this book I felt that there was too much everything. The crazy people were too crazy. The rich people were too snobbish and blind. Batman was too paranoid.
And yet, after finishing and thinking back on it I cannot come up with a better way of handling the story. The crazy people only seem too crazy because fragmented and false memories really do leave people making no sense. And maybe rich people really are snobs and blind to the world beyond their money. And Batman being paranoid is not a new theme and why wouldn't it just get worse as he gets older?!
View all my reviews
My rating: 2 of 5 stars
While reading this book I felt that there was too much everything. The crazy people were too crazy. The rich people were too snobbish and blind. Batman was too paranoid.
And yet, after finishing and thinking back on it I cannot come up with a better way of handling the story. The crazy people only seem too crazy because fragmented and false memories really do leave people making no sense. And maybe rich people really are snobs and blind to the world beyond their money. And Batman being paranoid is not a new theme and why wouldn't it just get worse as he gets older?!
View all my reviews
Saturday, June 29, 2019
Testing Exposes Presence Of Flaws
No matter how through, testing simply exposes the presence of flaws in a program; it cannot be used to verify the absence of flaws. It can increase your confidence that a program is correct, but it cannot prove correctness. To gain true correctness, one must use completely different processes, that is, correctness proofs.
Reference:
Dijkstra, E., "Notes on Structured Programming," in Structured Programming, Dahl, O., et al., Academic Press, 1972.
Friday, June 28, 2019
Don't Write Your Own Test Plans
Not only should you not be the sole tester of your own software, but you should also not be responsible for generating the test data, test scenarios, or test plans for your software. If you are, you may make the same mistakes in test generation that you made in software creation. For example, if you made a false assumption about the range of legal inputs when engineering the software, you would likely make the same assumption when generating test plans.
If you are a programmer and/or designer and your manager has asked you to write your test plans, I recommend you switch the test plan generation responsibility with a fellow programmer and/or designer. If you are a member of a requirements engineering team, with responsibility for system test generation as well, I recommend that members of your team subdivide the responsibilities so that no individual generates tests for requirements that she or he wrote.
Thursday, June 27, 2019
Don't Test Your Own Software
Software developers should never be the primary testers of their own software. It is certainly appropriate to do initial debugging and unit testing.
Independent testers are necessary:
- To check a unit for adequacy before starting integration testing.
- For all integration testing.
- For all system testing.
The correct attitude during testing is that of wanting to expose bugs. How can a developer possibly embrace that attitude? Testing is difficult enough without burdening it further with testers who have a bias toward no finding bugs.
Reference:
Myers, G., The Art of Software Testing, New York: John Wiley & Sons, 1979.
Sunday, June 23, 2019
Plan Tests Long Before It Is Time To Test
Often software developers create their software product, then scratch their heads and say, "Now, how are we going to test this thing?" Test planning is a major task and must occur in parallel with product development so that test planning and initial (that is, pretesting) development activities are completed in synchrony.
For software system testing, test planners should review the SRS for testability before it is baselined and provide feedback to requirements writers. Serious development of the tests should start soon after baselining requirements. For integrations testing, test planners should review the preliminary design before it is baselined. They should also provide feedback to the project managers and designers concerning (1) sensible allocations of resources to ensure that the "right" components (from a testing point of view) are produced in the right order and (2) modifications to the design to make it inherently easier to test. Serious integration test development should start soon after baselining the preliminary design. For unit testing, unit test plan development can start immediately after the completion of detailed design.
Reference:
Goodenough, J., and Gerhart, S., "Toward a Theory of Test Data Selection," IEEE Transactions on Software Engineering, June 1975.
Subscribe to:
Posts (Atom)