Microsoft recently announced an initial preview of Application Insights support for Azure Functions. As a result of this integration between the two services, developers now get built-in instrumentation for their code and a portal to view trends in their code’s performance. Developers are also able to set monitoring thresholds which can be used to create alerts or a callout to external webhooks.
Bob Martin, also known as Uncle Bob and co-author of the Agile Manifesto, has recently published an evaluation on whether TDD harms architecture. Most of the discussion centres around whether following a test driven approach has a negative impact on both the high level design and general maintainability of implementation code.
There is general acceptance that adopting agile development practices enables the speeding up of the delivery of software. Without incorporating quality assurance practices directly into the development process, product quality inevitably suffers. In order to consistently achieve high quality, both work practices and team roles need to change to build quality in rather than testing at the end.
Is it Possible to Test Programmable Infrastructure? Matt Long at QCon London Made the Case for "Yes"
At QCon London, Matt Long, QA Consultant at OpenCredo presented “Testing Programmable Infrastructure with Ruby”. Key takeaways included: it is possible to test programmable infrastructure at the unit, integration, and acceptance level; Ruby provides the power of a full programming language for integration and acceptance tests, and is often understood by both testers and sysadmins;
The main benefit of continuous delivery is lower-risk releases; comprehensive test automation and continuous integration are practices that have the biggest impact on IT performance. Research of continuous delivery and IT performance tells us that implementing continuous delivery practices leads to higher IT performance and high performers achieve both higher tempo and higher levels of stability.
Testers should be sharing stories and talking about the things they care about, to get people interested in what they are doing. The future of testing needs testers to think like marketeers. They can start by making or writing something such as a blog, article, talk, or video, and share it.
Distributed development depends on effective communication: you need to look for ways to have robust and diverse communication, build empathy towards each other to encourage feedback, and keep an eye on motivation. Team members are more engaged and creative when there’s shared ownership and responsibility for complete delivery from idea to production in distributed teams.
People can feel limited when challenged, which slows them down or keeps them from trying. It can be a real problem, but their fear might actually be in their imagination. Sometimes the only thing that's holding you back is yourself. Survival rules can hinder us- sometimes you have to break them.
Testing techniques like Equivalence Partitioning, Boundary Value Analysis, and Risk-based Testing can help you decide what to test and when to automate a test. InfoQ spoke with Adrian Bolboacă about different types of tests, writing sufficient and good acceptance tests, criteria to decide to automate a test, and how to apply test automation to create executable specifications.
Approval testing is a test technique which compares the current output of your code with an 'approved' version. The approved version is created by initially examining the test output and approving the result. You can revisit the approved version and easily update it when the requirements change. Approval testing is supported by TextTest, an open source tool for text-based functional testing.
Dead code needs to be found and removed; leaving dead code in is an obstacle to programmer understanding and action, and there's the risk that the code is awakened which can cause significant problems. Deleting dead code is not a technical problem; it is a problem of mindset and culture.
With more features being pushed down into less expensive versions, Microsoft is always looking for ways to justify the hefty price tag for Visual Studio Enterprise Edition. New for this year, the headline feature is “live unit testing”.
Complex AI systems with non-deterministic outcomes pose challenges for testers and programmers. Such systems will increasingly become normal in high-impact, high-risk applications, argues Fiona Charles; testers should increase their capacity for thinking and learning and develop a number of personal strengths such as courage and good judgement.
Microsoft has open sourced their Visual Studio Test Platform (VS Test) used to run tests in many languages, collect diagnostic data and report the results.
Try to keep units small, use appropriate tools, and pair-up programmers and tester; these are suggestions for writing good unit tests. Unit testing is a mixture of programming and testing; programmers can work together with testers to learn from each other and broaden their knowledge horizons.