Cloud Foundry: Design and Architecture
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Al Tenhundfeld on Mar 30, 2009
Gallio and MbUnit version 3.06 have been released. Gallio is an automation platform providing an "open, extensible, and neutral system for .NET that provides a common object model, runtime services and tools (such as test runners) that may be leveraged by any number of test frameworks." MbUnit is a popular generative unit test framework for .NET.
MbUnit v3.0.6 includes the following improvements:
With v3.0.6, MbUnit helps you get the most out of your multi-core CPU. Mark any test [Parallelizable] and it will be permitted to run in parallel with other parallelizable tests in the same fixture. Fixtures can also be marked parallelizable to enable them to be run in parallel with other parallelizable fixtures. Please note that if you want all tests within a fixture to be considered parallelizable then you still need to add [Parallelizable] to each of them. (We might add a feature to set this at the fixture or assembly level later based on user feedback.) Also note that just because a test or fixture is marked parallelizable does not mean it will run in parallel with other tests in particular. For the sake of efficiency, we limit the number of active tests threads based on the configured degree of parallelism. If you want a specific number of instances of a test to run in parallel with each other, consider using [ThreadedRepeat].
The degree of parallelism setting controls the maximum number of tests that MbUnit will attempt to run in parallel with one another. By default, the degree of parallelism equals the number of CPUs you have, or 2 at a minimum.
Contract verifiers simplify the process of testing that an implementation of a common contract is correct. For example, they can help you test your custom Exception class, verify that your datatype's Equals & GetHashCode are consistent, and check IListinvariants. We originally introduced this feature in MbUnit v3.0.4, updated it in v3.0.5 and Yann Trévin has been busy making it better for v3.0.6! Instead of using custom attributes to use a contract verifier, we now use a read-only field in the test fixture. This change makes the syntax much more expressive, but you will have to update any tests written in the old style. More documentation here: Contract Verifiers Chapter in Gallio Book
The CSV data source has been very popular. Did you know you can associate metadata with CSV data rows, like expected exceptions? Just add a column with a header like "[ExpectedException]", "[Description]", or some other metadata. In v3.0.6, we now have an XML data source too.
Gallio core also contains improvements, most notably:
Icarus now supports automatically reloading and running all loaded tests whenever they are recompiled. In v3.0.6, these features are controlled by a Preference. In future releases we will probably make them available from the toolbar so that it is easier to switch modes on demand.
Visual Studio vNext: ALM features for Agile Planning, Team Collaboration
RDBMS to NoSQL: Managing the Transition
Troubleshoot Java/.NET performance while getting full visibility in production
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
Andrew Watson talks about the work of the OMG, where CORBA is alive and well (hint: in your car), UML and UML Profiles vs. custom Modeling languages, DDS and other middleware, and much more.
Sohil Shah discusses creating iPhone and Android enterprise mobile applications based on cloud services using the open source platform OpenMobster.
Paul Sanford presents the transformations supported by data throughout its life cycle, and how that can be better done with Splunk, an engine for monitoring and analyzing machine-generated data.
A common “best practice” for unit tests is to only write a one assertion in each test. I intend to question this advice by showing that multiple assertions per test are both necessary and beneficial.
John Rauser presents the architectural and technological evolution of Amazon retail websites starting with 1994 and ending with adopting Amazon Web Services.
Michael Stal discusses system architecture quality, how to avoid architectural erosion, how to deal with refactoring, and design principles for architecture evolution.
Every developer has had to integrate with another system, API or component. Tis article provides strategies to handle the change and for he separating system boundaries.
No comments
Watch Thread Reply