Monthly Archives: March 2011

Bug Free Apps in Software Testing Services

Today’s software testing is not only a process of testing correctness, security, and quality of application or computer software, but also a phase of the software development life cycle (SDLC). In order to satisfy their customer, the test should have a bug free quality software or application and conform to the most rigid standards of software quality assurance (SQA).

The common requirements of software testing: Minimize the cost of customer support and maximize customer satisfaction by detecting and fixing all bugs and flaws before your software reaches end-users. Your product should be free from technical anomalies, ensuring lesser number of complaints, greater customer satisfaction and optimum retention rates.

Life cycle testing includes a wide range of functional, such as performance-based and operational testing requirements.

Source: http://access-matters.com/software-testing-services-for-bug-free-applications

Did you like this? Share it:

Specialized testing for your enterprise application

  Specialized testing can be defined as a type of testing used to customize for an application from the perspectives of enterprise users. Since the automated, standard testing does not have the necessary tools to conduct testing other than functional testing, load testing and distributed testing, specialized testing for enterprise applications fills the gap. Cloud testing, User acceptance testing, Modular testing, Agile testing and Incremental testing are all this type.

  Cloud testing is to test the scalability of enterprise applications, while User acceptance testing is to test whether user will accept the results, Modular testing is used for certain modules of an application, Agile testing is to test against newly developed code with quality, and Incremental testing to test and add a module of the application.

  Choose a type of specialize testing need to analyses forehead whether it is suitable, while the perfect coordination with developer, user and business analysts should also be required. Only in this way, can we find the best solution to resolve issues.

Readmore:http://searchsoftwarequality.techtarget.com/tip/Specialized-testing-for-your-enterprise-application?asrc=SS_CLA_306122&psrc=CLT_92

Did you like this? Share it:

A software expert’s heuristic for regression testing

   As we know, regression testing is testing designed to revisit existing aspects of an application or product, which to ensure weather the application is still working after several changes or new features have been added to a product. So how do we choose what to regression test seems very important. Here we introduce a heuristic to plan regression testing, it’s named: RCRCRC. Which stand for Recent, Core, Risky, Configuration sensitive, Repaired, and Chronic. Recent, means we know what’s been recently to the application. Core means we should command the core features. Risk means there will be many risks that we should be carefully deal with. Code that’s dependent on Configuration tweaking seems to be a bit like the copy and paste errors we make in documents. Then Chronic, the longer you work with a product, the better you know about it, time will make you accustom to it.

   The best regression test planning originates from that we know an application very well and in order to prevents some unnecessary problems, we use the heuristic RCRCRC to help we think through all of the application.

Resource: http://searchsoftwarequality.techtarget.com/tip/A-software-experts-heuristic-for-regression-testing?ShortReg=1&mboxConv=searchSoftwareQuality_RegActivate_Submit&

Did you like this? Share it:

Do we really need software testing?

 

A student who studies B. E (CS) posted a question: Is software testing really needed? If we create software with great care, then why should we test?

Everyone gave the student positive answers: Yes, software testing is necessary, always was, and always will be.

There are no 100% perfect things in the world. Programmers create software, but human make mistakes. So a software project needs software testers to test its performance and quality. No matter how skillful a programmer is, the programmer can’t consider everything during the software development lifecycle. Definitely, software testers will find out the issue that forgot by the programmer.

Read More:

http://blog.utest.com/is-software-testing-really-needed/2011/03/

Did you like this? Share it:

Importance of Software Stress Testing

The two major goals of carrying a testing process are examining the software capacity and finding out what may cause it degrade or fail. Before starting this testing you should buy a good load testing tool which helps you deal with the risks associated with specific software. Here are five commonly parts for testing:

Software testing is the process of investigating the quality of the software. Usually, testing is done once after defining the requirements and completion of coding process. It is carried out to find bugs and understand the feasible risk of software implementation.

Load testing refers to the practice of determining the software behavior under normal or high load circumstances. It is about finding out the error conditions that can affect the expected results of a system, software, application, or product. This testing is basically performed for multi-user systems, web servers, word processor, graphic editor, and so on.

Stress Testing is a type of testing that is carried out to determine the capability of an application, product, system, or software to maintain its effectiveness under different conditions. The main points of this process are to achieve error-handling capacity of software under heavy load and measure the performance of software during peak loads.

Performance Testing is a form of investigation that is carried out to determine the speed, effectiveness, and efficiency of a system, application, product, or software. It also investigates how fast the software can perform a specific application under a particular workload.

Testing Tools are specially designed for IT professionals to detect the error or default in the software. So it is important to buy a good testing for improving your system’s performance.

Source:  http://www.freearticlesnow.com/article-importance-of-software-stress-testing-52098.html

Did you like this? Share it:

Tests show Android is 50% faster than Apple iOS for web browsing

There is a latest research by a Canadian software company showed that Apple’s iOS is 50% slower at loading web pages than Google’s Android operating system (OS).

Through the comparison between Apple’s iOS version 4.3 and Google’s Android version 2.3 by web performance specialist Blaze Software measured 45,000 page loads, it showed that iOS loaded web pages over two seconds slower than Android. In addition, the iPhone 4 was slower than Google’s Nexus S Smartphone 84 percent of the time when accessing the Web through the browser that operates applications like Twitter and Facebook, Blaze was unable to compare the Apple Safari and Google Chrome browsers that users access directly from the phone’s home screen.

According to the Blaze’s CTO and co-founder, Guy Podjarny said: as the growing of user‘s demand they expect the full experience on tablets, not the simplified mobile sites. But as we know that tablets use the same OS and similar hardware phones do. In other word Android’s edge will make an even greater impact.

Source: http://www.computerweekly.com/Articles/2011/03/17/245964/Tests-show-Android-is-50-faster-than-Apple-iOS-for-web.htm

Did you like this? Share it:

Application Security Testing

Nowadays application security issues caused by security bug are increasing threat, Application security vulnerabilities will do lot of damage such as leak out secrets, break down database, or even take over the web server itself. So it is necessary to do such kinds of security testing to identify potential vulnerabilities and subsequently repair them.

Confidentiality, integrity, authentication, and authorization are four basic concepts of security testing, System testing ensures that the entire integrated software system meets requirements. It helps in improving the current system and also helps in ensuring that system will work for longer time.

Typically, vulnerabilities are exploited repeatedly by attackers to attack weaknesses that organizations have not patched or corrected. Security testing is concerned with checking that the system and its data are protected from accidental or malicious damage.

Security testing is beneficial to the organization almost in all aspects, and it contains many different kinds, the main types of security testing are security auditing, security scanning, vulnerability scanning, risk assessment etc. We often use AtStake Webproxy, SPIKE Proxy, Sleuth, Burp Suite to do such testing, and those tools are frequently used in both the pre-deployment and post-deployment test cycles.

Resource:http://www.testinggeek.com/index.php/testing-articles/171-application-security-testing

Did you like this? Share it:

Software Testing – Pattern For Automating Web Application

One of the key reasons for doing automated testing is to ensure that time is not spent on doing repetitive tasks which can be completed by tools without human intervention. Automation could be one of the most effective tools in your toolbox but it is not a silver bullet that will solve all the problems and improve quality. Automation tools are obedient servants, and as a tester we need to become their master and use them properly to realize their full potential. It is very important to understand that automation tools are only as good as we use them. Converting test cases from manual to automated is not the best use of automation tools. They can be used in much more effective ways.
Creating robust and useful test automation framework is a very difficult task. In the web world, this task becomes even more difficult because things might change overnight. If we follow so called best practices of automation taken from stable, desktop applications, they will not be suitable in web environment and probably will have negative impact on the project’s quality.

Many problems in the web world are identical to one another. For example irrespective of any web application we always need to validate things such as presence of title on all the pages.Depending on your context may be the presence of meta data on every page, presence of tracking code, presence of ad code, size and number of advertising units and so on.
Solution presented in this article can be used to validate all, or any of the rules mentioned above , across all the pages in any domain / website. We were given a mandate to ensure that specific tracking code is present on all the pages of a big website. In a true agile fashion, once this problem was solved it was extended and re-factored to incorporate many rules on all the pages.

This solution was developed using Selenium Remote Control with Python as scripting language. One of the main reason for using tools such as Selenium RC is their ability to allow us to code in any language and this allow us to utilize full power of standard language. For this solution, a python library called Beautiful Soup was used to parse HTML pages. This solution was ported to another tool called Twill to make it faster. Since the initial code was also developed in Python, converting it to Twill was a piece of cake.

Essentially this solution / script is a small web crawler, which will visit all the pages of any website and validate certain rules. As mentioned earlier, problem statement for this is very simple i.e. “ Validate certain rules on every webpage for any given website ”. In order to achieve this, following steps were followed

1.Get Page

2. Get All the links

3. Get first link and if link is not external and crawler has not visited it, open link.

4. Get Page Source

5. Validate all the rules you want to validate on this page

6. Repeat 1 to 5 for all the pages.

It is worth mentioning here that rules that can be validated using this framework are the rules, which can be validated by looking at the source code for the page. Some of the rules that can be validated using this script are –

  1. Make sure that title is present for all the pages and is not generic
  2. Check the presence of meta tags like keywords and description on all the pages.
  3. Ensure that instrumentation code is present on all the pages
  4. Ensure that every image has an alternative text associated with it
  5. Ensure that ad code is coming from the right server and has all the relevant information we need.
  6. Ensure that size of the banners and skyscrapers used for advertisement is proper.
  7. Ensure that every page contain at least two advertisements and no page should have more than four advertisements, except home page.
  8. Ensure that master CSS is applied on all the pages for a given domain.
  9. Make sure that all the styles are coming from the CSS files and styles are not present for any element on a web page.

Above mentioned list might give you some idea of what can be achieved using this approach. This list can be extended very easily. It is limited only by your  imagination :)

In the next article, we will look at the code snippets and explain how easily these rules can be customized and validated across all the pages on any given domain.

Source:http://www.testinggeek.com/index.php/testing-articles/143-web-application-automation-pattern

Did you like this? Share it:

Six Major Components of a Test Automation Framework

A test automation infrastructure, or framework, consists of test tools, equipment, test scripts, procedures, and people needed to make test automation efficient and effective. The creation and maintenance of a test automation framework are key to the success of any test automation project within an organization.
The implementation of an automation framework generally requires an automation test group. The responsibility of this group is to develop test automation infrastructure, test libraries, and tests tools.

The idea behind an automation infrastructure is to ensure the following:

a) Different test tools and equipment are coordinated to work together.

b) The library of the existing test case scripts can be reused for different test projects, thus minimizing the duplication of development effort.

c) Nobody creates test scripts in their own ways.

d) Consistency is maintained across test scripts.

e) The test suite automation process is coordinated such that it is available just in time for regression testing.

f) People understand their responsibilities in automated testing.

Components of a typical test automation framework are as described in the following figure.


1) System to Be Tested:

This is the first component of an automation infrastructure. The subsystems of the system to be tested must be stable; otherwise test automation will not be cost effective. All the subsystems must be stable and work together as a whole before the start of an automation test project.

2) Testing Platform:

The testing platform and facilities, that is, the network setup on which the system will be tested, must be in place to carry out the test automation project. For example, a procedure to download the image of the SUT, configuration management utilities, servers, clients, routers, switches, and hubs are necessary to set up the automation environment to execute the test scripts.

3) Test Case Library:

It is useful to compile libraries of reusable test steps of basic utilities to be used as the building blocks of automated test scripts. Each utility typically performs a distinct task to assist the automation of test cases. Examples of such utilities are ssh (secure shell) from client to server, exit from client to server, response capture, information extraction, rules for verdicts, verdict logging, error logging, cleanup, and setup.

4) Automated Testing Practices:

The procedures describing how to automate test cases using test tools and test case libraries must be documented. A template of an automated test case is useful in order to have consistency across all the automated test cases developed by different engineers. A list of all the utilities and guidelines for using them will enable us to have better efficiency in test automation. In addition, the maintenance procedure for the library must be documented.

5) Testing Tools:

Different types of tools are required for the development of test scripts. Examples of such tools are test automation tool, traffic generation tool, traffic monitoring tool, and support tool. The support tools include test factory, requirement analysis, defect tracking, and configuration management tools. Integration of test automation and support tools, such as defect tracking, is crucial for the automatic reporting of defects for failed test cases. Similarly, the test factory tool can generate automated test execution trends and result patterns.

6) Test Administrator:

The automation framework administrator does the following
a) Manages test case libraries, test platforms, and test tools;
b) Maintains the inventory of templates;
c) Provides tutorials; and
d) Helps test engineers in writing test scripts using the test case libraries.
e) Provides tutorial assistance to the users of test tools and maintains a liaison with the tool vendors and the users.

Source:http://www.softwaretestinggenius.com/articalDetails.php?qry=957

Did you like this? Share it:

Skill Sets of Software Testing Professional

Software testing is not an easy task, a software tester should requires at least complete knowledge of software testing tools, logical and analytical ability along with quality approach to the software testing processes. A talented tester requires few more skill sets to become successful software testing professional. Unfortunately, we don’t see quality software tester in many software development and testing organizations. Majority of the people in the software community consider software testing a mediocre job suitable for people who have lesser analytical and problem-solving skills. The essential skills a software tester should have are not properly assessed when recruiting for a software testing assignment. Below is the list of essential skill sets required in a software tester:

Logical and Analytical Thinking Any problem and task can be very well completed if the approach is right to solve the problem. For a right and directional approach one should have good logical sense to analyze the problem. The high-end thought process is the key quality in a software tester. The role of a software tester is to find the logical as well as functional errors in a software application. To find logical errors a software tester should be able to do complete visualization and mapping of the all possible scenarios. Thus to develop a strategy and to test the software application requires strong and fundamental logical and analytical approach towards software testing.

Time management and Planning On time delivery of the project is the dream and of course duty as well as commitment of every software organization. Development of the application, testing of the application, bug-fixing of the application and release of the application versions are all the steps which are independent on each step. Any delay in above processes will extend the schedule and in turn will become more money and time consuming process. Every client wants the timely delivery of the application. Software testing plays major role in the software development life cycle, so proper planning of the software testing plans and timely execution of the plan is the commendable quality of a software tester. A Software tester should define all the testing criteria, approach, assumptions and schedule in time bound schedule and with proper planning.

Effective communication skills A software tester requires to report for its work, to give presentation on the progress, to communicate and coordinate with the team. All these things require proper, clear and effective communication skills in a budding software tester. For experienced software tester the client interaction and management interaction increases where the good communication skills helps to grow in the organization. Along with communication skills, a software tester should emphasize on his presentation skills like body language and appearance. Apart from good communication skill a software tester should be patience to listen others and should not shy or fear to put their strong points and facts in a discussion.

Source:http://sitessoftware.com/skill-sets-of-software-testing-professional

Did you like this? Share it: