Thursday, October 31, 2013
Wednesday, October 23, 2013
Test Auto Mation
What makes automated testing so important to these successful companies?
Automated Software Testing Saves Time and Money
Software tests have to be repeated often during development cycles to ensure quality. Every time source code is modified software tests should be repeated. 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.
Testing Improves Accuracy
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.
Increase Test Coverage
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.
Automation Does What Manual Testing Cannot
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.
Automated QA Testing Helps Developers and Testers
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.
Team Morale Improves
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.
TestComplete is a Powerful and Affordable Automated Software Testing Tool
TestComplete addresses a full range of software testing challenges facing corporate IT departments, product developers, QA engineers, and consultants. TestComplete enhances the software testing process by increasing efficiency, removing complexity and lowering costs
- See more at: http://support.smartbear.com/articles/testcomplete/manager-overview/#sthash.V0w8mfc2.dpufTuesday, October 22, 2013
QA TIPS
1. Focus
on Risk/Change Based Testing – In an
Agile environment, the goal is always to get the highest quality product to
market in the shortest amount of time. Therefore an Agile tester must be able
to assess which areas of the application are changing, how they all fit
together and prioritize tests based on areas that pose the greatest risk of
failure.
2.
Understanding Product Architecture – Put simply, this means understanding
exactly how data flows through an application. This allows us to test the
impact of sub-system component failures, as well as address potential security
vulnerabilities. As a result, when defects are found an Agile tester will be
able to help developers fix the issues quickly and thoroughly early on.
3.
Understanding Business Objects and Context – Since testing should always align with
customer context, an Agile tester must understand how the end user will
interact with the product. If you focus on the applications and scenarios that
provide value to the end user you will be able to dimensionalize your testing
strategy. Meaning, if you can divide a product up based on the product
architecture and customer context you will be better equipped to test for
potential issues that would negatively impact end users.
The
added benefit of dimensionalizing the product from the customer view point is
that the tester will be able to tag defects with the affected business objects.
That way when you begin to review your test sets, you will be able to recognize
areas with higher instances of defects. This will allow you to address the
issues in a more focused and effective way.
4.
Application Logs - While
reporting ‘when feature X breaks we do Y’ provides value, it is not enough in
an Agile environment. Agile testers should be leveraging the great amount of
information contained in application logs for a number of reasons. First, it
provides insight into the underlying architecture that is occurring on the
system level, which gives you a better understanding of what the defect is.
Second, application logs also allow you to address ‘silent errors’ – i.e.
errors that occur without the end user ever even knowing. Lastly, it allows
testers to gain credibility and work more closely with the development team,
which is an integral component of being Agile.
5. Based
Tools – In
addition to application logs, browser based tools are incredibly important for
Agile testers to be able to quickly troubleshoot defects. Two examples of
easy-to-use browser tools are Developer Tools in Google Chrome and Firebug in
Firefox. Tools such as these provide value in the form of metrics, errors,
analysis, java script consoles and debuggers.
6. Test Document Requirements – Many Agile organizations utilize some
variant of SCRUM or Kanban, in which there is an element of work tackled by a
team to ensure that all aspects function as intended. In order to do this, the
team will need to create test scenarios. The expectance criterion of these test
scenarios often becomes a requirement repository over the long term. While some
people view the written test scenario as a waste, Brian Rock contends that
these test scenarios become very valuable to the Agile tester for future automation,
regression testing and product analysis.
7.
Automation –
Automation is an excellent tool but it goes without saying that it is not the
‘silver bullet’ to fix the testing problem. Frameworks can be expensive to
create and even more expensive to maintain. However, Agile testers need to be
able to leverage automation for quick, easily repeatable tasks. If the delta of
change is low, chances are you should automate it.
8.
Exploratory Testing –
Exploratory testing (ET) is common sense testing. ET focuses on instantaneous
testing and learning and thus should be a primary tool of all Agile testing.
Agile testers can leverage knowledge gained through ET on every future product
iteration. Additionally, it allows the Agile tester to make variations in
testing to quickly ferret out bugs.
9.
Testing From the Customer Perspective – In many ways, this goes back to
understanding the business objects and how testing should focus the end user –
despite the fact that the end user is going to use the product in ways that you
never thought feasible, wise or even sane. Testing from the customer
perspective goes a step further to state that the fitness of the product for
use by the end user is the primary standard of quality. After all, without
customers there is no product. Agile testers are in a unique position to face
QA challenges from this context.
10. Know
That Change is Constant –
Perhaps this is a bit cliché, but a static product is a dead product. As an
Agile tester you should be able to give a quality assessment of the product at
any stage in its life cycle. If you are able to do this, you will be better
equipped to handle the ever changing landscape that is Agile.
Subscribe to:
Posts (Atom)