A recent Methods & Tools survey wanted to know if organizations were using NoSQL databases (MongoDB, Couchbase, etc) ? The results show that 27% percent of the participants have some applications in production based on NoSQL databases. Read the rest of this entry »
The software development magazine Methods & Tools has recently asked its readers if their organization were hosting their software applications on a cloud infrastructure. Read the rest of this entry »
I have found on the Software Testing Magazine web site this interesting video that provides some tips to write better Selenium tests. Selenium is a suite of tools to automate web browsers across many platforms.
* Selenium IDE is a Firefox add-on that records clicks, typing, and other actions to make a test, which you can play back in the browser.
* Selenium Remote Control (RC) runs your tests in multiple browsers and platforms. Tweak your tests in your preferred language.
* Selenium Grid extends Selenium RC to distribute your tests across multiple servers, saving you time by running tests in parallel.
After the results of a previous poll focused on functional testing automation, I wondered if there was still a great divide between the worlds of development and functional testing. So I did this follow-up question to check who was performing the functional testing.
This poll was trying to determine who perform functional testing in IT department? Here are the answers:
|Nobody: functional testing is done by end-users||11.0%|
Ending date: March 2010
Source: Methods & Tools Software Development Magazine
As you can see, in close to 50% of the cases, developers are not involved in functional testing. Trying to find the causes of this situation, I asked for explanations in various testing and agile groups on LinkedIn. Two explanations came out:
Developers do not master functional testing tools. These are specialized tools that use mostly proprietary scripting languages, even if some new tools like the WatX family use the same programming language to create tests. Then validation needs to be independent from development. Following this rule, people said that the role of analyst and functional tester can be mixed in software development projects, but you cannot ask a developer to test its own work. This opinion has been expressed both in software testing and in agile focused groups.
This situation is also representative of the mistrust relationships that often exists between development and testing teams in software development organizations and apparently Agile hasn’t’ changed it. If few people will deny the fact that the customer is the ultimate judge to validate an application, QA people often describes developers as careless people that are unable to challenge their own work and developers see QA people as disconnected from the project reality and slowing the delivery of applications to users. Having worked in large software organizations, I have sadly witnessed the truth of both cases: developers that don’t test enough their work and QA people that don’t know the domain of the application or built process that could be nice looking in theory, but practically not adding value to the software delivery.
I strongly favor the case when developers take the full responsibility from understanding the requirements to deliver the application to the user. The more specialization you involved in the process, the more information you loose when you try to transmit it. Understanding the requirements allow the developer to take the full responsibility of its code. If it cannot be trusted for functional testing, then it should be the same for unit testing… and then it should just not be trusted as a developer. I understand that this vision could sound a little bit utopian due to the reality of human behavior, but to me it is not more idealistic than thinking that users can give you the right requirements and have enough time and knowledge to validate the delivered application.
The Agile approach prefers face to face communication between developers and user. User stories could be specified in simpler artifacts like index cards rather than put larger requirements documents. Does this impact the usage of UML models?
A recent survey tried to evaluate the usage of Unified Modeling Language UML tools in organizations. You can read the results titled “Are Unified Modeling Language (UML) Models Still Used?” in the Methods & Tools software development magazine.
The Methods & Tools web site has just opened a new section dedicated to software development tools. This area will propose an html version of the tools presentations articles published in the PDF issues and also links to the other Methods & Tools articles that are focused on software development tools. The first tools to be included in this section are Express, Sonar, JMeter and Squirrel. More software development tools will be included in the future. Hudson and Fitnesse presentation articles are already scheduled for the Summer 2010 issue of Methods & Tools.
Methods & Tools is a free e-magazine for software developers, testers and project managers. Spring 2010 issue has just been published with the following articles:
* Using WatiN to Leverage Common Elements in Web Testing – structure your Web testing efforts
* Five Symptoms of Mechanical Agile- detect agile adoption issues
* Writing Testable Code – testable code is better code
* Model-Based Testing Adds Value – a quicker way to functional testing plans
* Tool: Sonar – monitor code and project quality
* Tool: Express Agile Project Management – a simple tool for Scrum
* Tool: Apache JMeter – for load and functional testing
60 pages of software development knowledge that you can download from http://www.methodsandtools.com/mt/download.php?spring10