Clojure
Rich Hickey discusses Clojure features and syntax, example code, functional programming, concurrency semantics, transactions, software transactional memory, agents, implementation and pain points.
- Java,
Tracking change and innovation in the enterprise software development community
Posted by Mark Levison on Oct 03, 2008 09:53 AM
What is a good test? How do we know if we're writing good tests?
Kent Beck posited, that tests should be:
Roy Osherove adds that good tests have three fundamental properties: maintainable, trustworthy and readable.
Mike Hill has much longer list:
Mike and Ron Jeffries remind us that the key value of TDD is simplifying design and improving productivity. Improvements in code quality and a reduction in bugs are an important side effect.
Jeremy Miller adds that good unit tests should be:
Finally Ed Burnette writes: Make your unit tests repeatable in every aspect; Test your boundary conditions and Always keep your tests passing at 100%.
Testing Tools to Support Agile Software Delivery
Smart agile development within dispersed teams
Succeeding with Agile at Scale Educational eKit from IBM
The Agile Business Analyst: Skills and Techniques needed for Agile
VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.
...now read the title out loud
If you aren't pairing, there are some non-technical ideas to improve the test cycle using your peers in the 5 for 5 game.
Since testing is more than TDD or other automated testing approaches, part of quality in testing is tied to when you run the tests.
And the test shouldn't suddenly appear green the moment right before a sprint review.
Thanks for catching that. Another occasion where haste made a real mess of things.
1. If logic is changed, a test should show that - means: test fails.
2. If logic is changed, only few (ideal: one) tests fail.
(1) provides the security net for refactoring.
(2) ensures that the security net will not hinder refactorings since you have to modify hundereds or thousands of tests for one logic change.
Jester uses the approach (1) to find missing test cases.
Rich Hickey discusses Clojure features and syntax, example code, functional programming, concurrency semantics, transactions, software transactional memory, agents, implementation and pain points.
We introduce the concept of Composite Oriented Programming, and show how it avoids the issues with OOP and reignites the hope of being able to compose domain models with reusable pieces.
Dan Farino talks about the system architecture and the challenges faced when building a very large online community. Dan explains how a .NET product scales on hundreds of servers.
Alan Shalloway, CEO and founder of Net Objectives, presents the Lean software development principles and practices and how they can benefit to Agile practitioners.
Bernd Mathiske discusses Maxine VM, Java compatibility, swapping major VM components, research areas, Object handling, code examples, optimizing compiler, snippets, bytecode generation, JNI and JIT.
Joe Armstrong speaks on various aspects of the Erlang language, presenting its roots, how it compares with other languages and why it has become popular these days.
The java double-check singleton pattern is not thread safe and can’t be fixed. In this article, Dr. Alexey Yakubovich provides an implementation of the Singleton pattern that he claims is thread-safe.
Diana and Jim talk about patterns observed in CTOs' activity. CTOs emerge as real people caring for other people in their organization, and are put under a lot of pressure and constraints.
4 comments
Reply