Friday, 11 September 2015

Exploring Exploratory Testing

Exploratory testing is an approach concept of software testing where the tester combines application learning, test design and test execution in the same activity. This approach can showcase the results that a skilled tester can provide with manual tests as it recognizes that the next test we do is influenced by the result of the last test we did. It is Agile in nature as it emphasizes the tester's autonomy, skill and creativity.
The main advantage of exploratory testing is that less preparation is needed, important bugs are found quickly, and at execution time, the approach tends to be more intellectually stimulating than execution of scripted tests, but it is not a replacement for scripted and automated tests. It is more a complementary approach that provides additional software quality practices to the software testing activity.
it emphasizes the tester's autonomy, skill and creativity, much as other Agile practices emphasize these qualities in developers; - See more at: http://guide.agilealliance.org/guide/exploratory.html#sthash.p0JjXh3E.dpuf
it emphasizes the tester's autonomy, skill and creativity, much as other Agile practices emphasize these qualities in developers; - See more at: http://guide.agilealliance.org/guide/exploratory.html#sthash.p0JjXh3E.dpuf


References



Exploratory Testing
Exploratory Testing
Exploratory Testing
Exploratory Testing

Exploratory Testing: Finding the Music of Software Investigation



Friday, 3 May 2013

Test Driven Development Pitfalls

Test Driven Development (TDD) has been one of the most adopted agile practice. It has bring back the importance of unit testing, but also mostly remind that people have to think about what their code really want to achieve before writing it.

Test-driven development that relies on the repetition of a very short development cycle: first the developer writes an (initially failing) automated test case, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards. Kent Beck, who is credited with having developed or 'rediscovered' the technique, stated in 2003 that TDD encourages simple designs and inspires confidence. However, how simple this might appears, it is not easy to perform this approach successfully on the long term.

Two interesting articles published in the Methods & Tools free software development magazine might help you  to do this. Test Driven Development (TDD) Traps by Jakub Nabrdalik presents all the issues that a agile software developer might face when trying to apply TDD and explains how to overcome them. Writing Testable Code by Isa Goksu explain how to write a code that will be easy to test... and then easy to refactor. This two articles are a good read for every software developer that believes in the power of unit testing to achieve quality in software code.

Monday, 21 January 2013

Which Tool to Manage Requirements Management?

The RequirementsManagement.net web site has published the results of a short survey about the usage of software requirements management tools used to create and manage the definition of requirements (text, user stories, models,…). The result is that there is no clear winner in the poll even if office software is the number one tool used to manage requirements (27% of respondents).20% of the participants answered that they use more than one tool.

Friday, 31 August 2012

Cloud Computing and SOA

SOA and Cloud Computing is an article that explains why Service Oriented Architecture (SOA) is a good fit for cloud-based deployments and how the cloud affects SOA. SOA principles and patterns are a very good match for the cloud, because SOA is the architectural style that enables transition to cloud computing, especially for hybrid and public cloud scenarios.

Monday, 7 November 2011

Fall 2011 issue of Methods & Tools

Methods & Tools – the free magazine for software developers, testers and project managers – has just published its Fall 2011 issue with the following articles that focuses mainly on user interface and project management practices:
* Dialogue Sheets for Scrum Retrospectives – Helping Scrum Improvement
* Using Models and Standards – Tools for Software Processes
* The Psychology of UX – Understand your Users
* HTML5 for Rich Web Enterprise Applications – What Does HTML5 Brings to the Web?
* Gradle – a revolutionary Groovy based build tool
* Saros – an Eclipse plug-in for Distributed Programming
* StarUML – an Open Source UML tool

Thursday, 8 September 2011

JUnit Tutorial

This brief tutorial shows how to use the JUnit open source unit testing framework for Java. By using JUnit, you can assert that methods in your Java code work as designed, without the need to set up the complete application. To apply the JUnit principle for testing in specific domains such as XML or databases, special extensions exist.

Visit http://www.softwaretestingmagazine.com/videos/junit-tutorial/

Thursday, 18 August 2011

Java Software Engineer Trading Systems, Boston, MA

Keys to this Position
1. Technical: Hands on coding with Java, JMS and Spring in a FIX environment. Financial Information eXchange (FIX) Protocol is a messaging standard developed specifically for the real-time electronic exchange of securities transactions. FIX is a public-domain specification owned and maintained by FIX Protocol, Ltd.
2. The role is 50% development and 50% maintenance, support and improvement of the FIX environment.
2. Domain: The candidate must have some knowledge of Trading Systems and FIX Protocol.
4. Selling points: Company is a leader in the buy side community for FIX. This individual will interface with Wall Street and gain a lot of Industry exposure.

To get more informations and to apply visit
http://www.softdevjobs.com/job/java-software-engineer-trading-systems-new-york-city-ny-erwellbos-45ea83c1d6/

Saturday, 13 August 2011

Wednesday, 22 September 2010

Agile, project management and software testing in Fall issue of Methods & Tools

Methods & Tools – the free e-magazine for software developers, testers and project managers – has just published its Fall 2010 issue with the following articles:
* Distributed Teams and Agile – Managing Global Agile Projects
* Decomposition of Projects: How to Design Small Incremental Steps
* Source Code Analysis in Agile Projects
* The Core Protocols, an Experience Report, Part 2 – Tools for High Performance Teams
* tinyPM – Agile project management
* Junit – open source Java unit testing
* Bromine – open source Web testing
* Agilefant – open source Agile project management
* SoapUI – open source Web testing

Download 70 pages of software development knowledge

Tuesday, 14 September 2010

Hudson – Your Escape from “Integration Hell”

This interesting presentation of the Hudson continuous integration tool has been published in the software development magazine Methods & Tools. Hudson is a popular web-based continuous integration server, written in Java. Hudson is used in 17.000+ server installations worldwide in small, medium and large companies alike, including eBay, Hewlett-Packard, MySQL, JBoss, Xerox, Yahoo, LinkedIn, or Goldman-Sachs. It allows you to automate your software build chain, e.g. monitoring changes in version control systems, triggering new builds, testing artifacts, sending notifications, deploying to production servers, and much more. Hudson is liked for its ease of use and broad extensibility via 250+ plugins.

Tuesday, 17 August 2010

Software Development Books

Software Development Books provides reviews on books covering all topics of software development and software engineering: UML, Agile Methodologies (eXtreme Programming, Scrum, TDD, FDD,..), Software Testing, Software Configuration Management, Database Modeling, Java, .NET, RUP, Software Project Planning and Management, Test Automation, Programming, Software Analysis and Design, Quality Assurance, Software Process Assessment and Improvement, Software Development Tools, Risk Management, Refactoring.

Thursday, 27 May 2010

Are Unified Modeling Language (UML) Models Still Used?

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 Methods & Tools survey tried to evaluate the usage of UML tools in organizations.

http://www.methodsandtools.com/dynpoll/oldpoll.php?UMLPoll2

Friday, 30 April 2010

Can Developers and Testers Love Each Other?

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 your IT department? Here are the answers:

Software developers 15.4%
Specialized testers: 37.4%
Both 36.2%
Nobody: functional testing is done by end-users 11.0%

Participants: 409
Ending date: March 2010
Source: Methods & Tools

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.

Resources

Functional Testing Tools Directory

SQA Zone

Testing TV

Wednesday, 21 April 2010

New Tools Section in Methods & Tools Web Site

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.

Monday, 29 March 2010

Agile + Software Testing & Quality in Methods & Tools Spring 2010

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

Tuesday, 26 January 2010

Review of 2009 for Software Development: Many Acquisitions and a Funeral

Last year has certainly been busy for the software development tools industry. We have seen many companies merging together and also the funeral of one of the oldest brand in the software development industry.

Bye, Bye Borland

After the sale of its development tools division to Embarcadero in 2008, Borland kept only the tools dealing with requirements management and software testing. This didn’t improve its financial situation and finally Borland sold itself to MicroFocus. This was a sad end for a brand that accompanied software developer for more than 25 years. Software requirements have always been a secondary topic in the software development tools world and the trend towards agility hasn’t improved this. Now you can manage user stories with paper cards and a board. Approaches like UML are declining and you will find few items dealing with them in today’s programmers waterhole like dzone.com or stackoverflow.com, The end of Borland is just the symptom that this world is difficult for requirements tools vendors.

Oracle Buys Sun, WMware Buys Spring and You Buy Software

With a little bit of irony, just one year after having bought MySQL, Sun was acquired by Oracle. It is difficult to judge a deal that is not completed yet as the European Commission is still examining the merger. I am however afraid that the business and financial objectives of Oracle will largely lead to the reduction or the end of most of the Sun open source efforts and a serious slowdown in MySQL evolution.

Just after the future of Java becomes a topic of discussion after the deal between Oracle and Sun, WMware decided to acquire SpringSource and to give to this entity a stronger platform to promote the Java language. Since then, SpringSource has launched its Tomcat server version, Enterprise Java Cloud and Spring Roo. Previously it had acquired G2One at the end of 2008 and thus the control of the Groovy and Grails products. It is now surely the most important active player for Java software development tools.

Google is (also) a Software Development Tools Company

Google domination in the search engine world is well known, but as far as developers are concerned, it is amazing how Google is quietly occupying more and more space. Here are some of the software development initiatives of Google:
* Google App Engine
* Google Web Toolkit GWT
* Go Language
* Google open source projects forge
* Google I/O Conference

Google seems to have understood that besides the content, it should also be active in the plumbing that runs the Web. This is why software developers should be interested in what Google does in this area. You could do this following some blogs like the Google Code Blog and the Google Testing Blog. You will see that besides the well-known projects, Google releases a lot of interesting open source tools created by its development team.

Monday, 30 November 2009

More Procedures in Software Configuration Management

The last Methods & Tools poll examined how software configuration management (change management / version control) is performed by organisations. Is it an informal activity or performed with formal procedures that are validated by an automated tool?


2009 2006
No formal procedure and no tool 13% 15%
A formal procedure but no tool. 11% 10%
A tool but no formal procedure 17% 26%
A formal procedure and a tool 36% 49%
Continuous integration 23%

Participants: 271 (346 in 2006)

Ending date: November 2009 (April 2006)

If we compare the current results with the 2006 numbers, we can see two major points. The first is that the number of participants that don’t use tools remains at the same level, around 25%. It is true that there has not been any strong innovation in the area of software configuration management tools in the recent years. The major open source products were also available three years ago. Things have change however for the participants that were using tools. The number participants using a formal procedure is now a clear majority, counting the people that do continuous integration in this category. The increased demand for regulation, for instance the Sarbanes-Oxley law, has surely influenced corporations to adopt formal policies in their software development practices.

We introduced in this poll a new answer to take into account the “continuous integration” way of software configuration management. This agile-linked practice is adopted by 23% of the participants to the survey. This result is similar to the survey conducted by Jurgen Apello on noop.nl. In his case, 29% of the participants had adopted continuous integration. As a funny conclusion on this topic, when I researched on this topic, I noticed that in the 2007 Agile Survey by Version One 50% of the participants declared that they were practicing continuous integration and 57% were currently using a continuous integration tool. This makes me wonder what 7% of the participants were using the continuous integration tool for. ;o) Anyhow, this always remembers us that we should be very cautious with survey number.

Reference

http://www.noop.nl/2009/04/the-big-agile-practices-survey.html

Related articles

Configuration Management and ISO 9001

Continuous Integration: the Cornerstone of a Great Shop

Software Configuration Section of the Software Development Articles Directory

Related videos

Simple tools to fight a big battle: “Continuous integration on a minimalist platform”