Agile testing

Introduction:
Agile testing is an iterative and incremental approach to software testing that is performed in a highly collaborative manner by self-organizing teams within a control framework. High quality and adaptive software is developed by small teams using the principles of continuous design improvement and testing based on rapid feedback and change. Agile testing is a software testing practice that follows the rules of the agile manifesto, treating software development as the customer of testing.


Principles of Agile testing

I. Supports clients changing requirement even in late development phase too.
II. Testers should be embedded in agile team.
III. Agile testing must be iterative.
IV. Testers cannot rely on having complete specification. They need to be independent and independently empowered in order to effective.
V. Deliver working software frequently, from a couple of weeks to a couple of months, with preference to the short time scale. So, QA need to test software continuously and iteratively.
VI. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. So, be close to the developers.
VII. Continuous attention to technical excellence and good design enhances agility.
VIII. The best architecture, requirements and designs emerge from self-organizing teams
IX. At regular intervals, the team reflects on how to become more effective, then tunes and adjust behaviors accordingly.
X. Define when to continue or stop testing before delivering the system to the customer. Specify which evaluation criteria is to be used (e.g. time, coverage, and quality) and how it will be used.
XI. Stipulate the real meaning of “Done”.
XII. Focus on value added activities.
XIII. Focus on sufficient and straightforward situations.
XIV. Focus on regression and exploratory testing.
XV. Be flexible to contribute in any way and be teamplayer
XVI. Focus on What and Not How to test.

Key challenges for a tester on an agile project:

Implementing complete new environment is definitely a challenge .Despite of agile being flexible and simple, tester may face some challegenes during their testing phase. Such as:
I. No traditional style business requirements or functional specification documents. We have small documents (For e.g. story cards developed from scrum board in Trello ). Any additional details about the feature are captured via collaborative meetings and discussions.
II. We will be testing as early as practical and continuously throughout the lifecycle so expect that the code won’t be complete and is probably still being written.
III. Acceptance Test cases are part of the requirements analysis process as we are developing them before the software is developed
IV. The development team has a responsibility to create automated unit tests which can be run against the code every time a build is performed.
V. With multiple code deliveries during the iteration, regression testing requirements have now significantly increased and without test automation support, ability to maintain a consistent level of regression coverage will significantly decrease

Benefits of Automated Testing:

Automated testing has become the basic need for better quality. Testing manually is just time consuming in many software testing. I am definitely not saying that testing manually is not good. But we can see lots of advantages of automated testing over manual testing. It is just genuinely better.

Firstly it saves time and cost of the company. Every time when source code is updated software needs to be tested to ensure its quality. For each release of the software it may be tested on all supported operating systems and hardware configurations. Manually repeating these tests is costly and time consuming. Once created, automated tests can be run over and over again at no additional cost and they are much faster than manual tests. Automated software testing can reduce the time to run repetitive tests from days to hours. A time savings that translates directly into cost savings.

Secondly, Even the most conscientious tester will make mistakes during monotonous manual testing. Automated tests perform the same steps precisely every time they are executed and never forget to record detailed results.

Automated software testing can increase the depth and scope of tests to help improve software quality. Lengthy tests that are often avoided during manual testing can be run unattended. They can even be run on multiple computers with different configurations. Automated software testing can look inside an application and see memory contents, data tables, file contents, and internal program states to determine if the product is behaving as expected. Automated software tests can easily execute thousands of different complex test cases during every test run providing coverage that is impossible with manual tests. Testers freed from repetitive manual tests have more time to create new automated software tests and deal with complex features.

Even the largest software departments cannot perform a controlled web application test with thousands of users. Automated testing can simulate tens, hundreds or thousands of virtual users interacting with network or web software and applications.

Shared automated tests can be used by developers to catch problems quickly before sending to QA. Tests can run automatically whenever source code changes are checked in and notify the team or the developer if they fail. Features like these save developers time and increase their confidence.

This is hard to measure but we’ve experienced it first hand, automated software testing can improve team morale. Automating repetitive tasks with automated software testing gives your team time to spend on more challenging and rewarding projects. Team members improve their skill sets and confidence and, in turn, pass those gains on to their organization.

AspxCommerce installation in windows XP..A name was started with an invalid character.

I tried to install the AspxCommerce source version in my system, my operating system is windows XP and VS 2010, IIS 6 with service pack 3 and dot net framework 3.5.But it did not get installed. When I tried to install from IIS, some error displayed as follows:

A name was started with an invalid character. Error processing resource ‘http://localhost/AspxCommerce/’. Line 1, Position…

 

<%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”Default.aspx.cs”  Inherits=”SageFrame._Default”%>

-^

And if I tried to run the solution file, it gets stuck during installation.

I referred many forums like

http://forums.asp.net/t/887716.aspx/1?A+name+was+started+with+an+invalid+character

http://social.msdn.microsoft.com/Forums/is/xmlandnetfx/thread/d0aeb5a0-481e-4b5a-a82a-acc4b8be5986

And it was installed.

I hope it would be helpful to you guys too.

Thanks