Category Archives: Independent Software Testing

Auslagerung der unabhänigen Software-Testing Service nach China

Laut einer aktuellen Studie haben immer mehr Software-Firmen den Vorzug für die unabhängigen Software-testing-Services statt inhaus. Neben den üblichen Vorteilen des Software-testing hat dieser Trend seine eigenen Vorteile.

+ Bessere Qualität und Objektivität des Testes. Mithilfe der Auslagerung der unabhängigen Software-testing-Service erhalten Sie eine unvoreingenommene und frische Sicht, die der Verbesserung der Qualität Ihres Produktes nützt. Aufgrund des Mangels an Einfluss des Entwicklungsteams sind unparteiisch und genaue Testergebnisse gewährleistet.

+ Preisgünstigkeit. Durch die Auslagerung der unabhängigen Software-testing-Service brauchen Sie nicht zu mieten, zu trainieren und zu entlassen die zusätzliche Mitarbeiter in den Gipfeln des Tests.

+ Mehr geschäftliche Flexibilität und Effizienz. Durch das Outsourcing von der unabhängigen Software-testing-Service können mehr Kosten zum Ausbau des Geschäfts oder Reproduktion-Aktivität inverstiert werden. Während Sie die Software-Tests-Service von anderen machen lassen, können Sie machmal einigen Talenten und Experten begegnen, was zu den innovativen Vorschlägen führt.

In China erregt das Testing immer mehr Aufmerksamkeit. Tester werden systematisch trainiert. Zahlreiche Institutionen werden in China eingerichtet, um die Tester, einschließlich Videospiel-Tester, zu trainieren. Damit kann ihr Kenntnis vertieft und verbessert werden. Darüber hinaus verfügen die Testing-Unternehmen hier in China über die fortschrittene automatisierte Prüftechnik.

UniTesting als ein weltweit führendes Testing-Unternehmen in China bietet verschiedene testing-Services an, wie zum Beispiel Videospieltesting, Mobile-Anwendungstesting und Testing für die Anwendungen im Gesundheitswesen sowie Web-Application. Unsere Mitglieder sind professionell und engagiert.

Did you like this? Share it:

Mobile Testing, A Bigger Challenge Than Cloud

37 percent of respondents of the survey, which was conducted in London at TestExpo 2011 annual spring event by Sogeti and attended by more than 250 of the UK’s leading software testing and Quality Assurance professionals, suggested that their budgets and resources were not being allocated to the correct address. The risk of end user communities is continuously increasing. Moreover, it’s becoming more widely distributed geographically.

Brian Shea, CEO of Sogeti UK, said the real-life concerns were the UK’s leading testing and QA professionals in a press release according to the survey. From the survey nearly half of respondents said getting performance testing processes to meet the performance challenges was a “constant challenge”, while less than a fifth said it was “easy”.

Source:http://it.tmcnet.com/channels/application-performance-management/articles/175987-sogeti-survey-businesses-unable-support-testers-mobile-testing.htm

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:

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:

Functional Testing: Strategy or Another Testing Method ?

Software outsourcing is a trend today and India is the most preferred global outsourcing destination. However, there is one critical reason for outsourcing functional testing services to India. A developer has exhaustive knowledge about the codes, logic etc. associated with the program he/she has developed, which probably makes him/her unfit to test the same. Hence, no wonder huge multitudes of functional testing services are being outsourced to India.

Also known as Black Box or Opaque testing, functional testing validates whether the output of a software program/application is in accordance with the given functional specifications, models, design paradigms etc. Hence, it emphasizes more on the external behavioral pattern of the software program/application.

It can be done even without any knowledge of the code behavior, execution etc. since it’s completely focused on the functionality of the product/application developed.

Functional testing is rightly considered a strategy and not just another testing method since its base lies in the appropriate selection of the data according to the given functional specifications to screen the developed product/application for any abnormal behavior.

To implement functional testing strategy judiciously, it’s vital for the tester to be well acquainted with the given specifications and must check the functionalities of the software from the view point of the user and not someone who has developed the product.

To avoid the tester from making wild guesses, functional testing strategy involves the use of randomly created inputs. Also to check whether the program is robust or not, the tester also screens the data available outside the specified input range. To check that uppermost & lowest permissible inputs yield good output, boundary cases are also tested in this type of testing.

Functional testing services primarily encompass:

End-to end testing in which the critical functional business requirements are identified, analyzed and then a proper plan is devised accordingly for the testing. Once the testing results are declared even they are analyzed for further improvement of the test results, if any.

User acceptance testing lays emphasis on the usability of the program and is carried out in a real-world environment. This involves UAT planning, designing tests cases, executing the strategy, identifying & fixing the bugs.

System Integration testing involves testing of modules & interaction of the functionality of the developed program/application with the external systems to evaluate its performance.

Source:http://thetestingcrowd.com/software-testing-basics/functional-testing-strategy-or-another-testing-method/

Did you like this? Share it:

Crowdsourcing: A New Paradigm in Software Testing Outsourcing

Ever heard of crowdsourcing? It’s the latest buzz word in the software testing services industry: a way of developing technology and usability by treating a lot of people (a crowd) as a single entity. Rather than performing software qa testing using a single person or even department, a large body of people are used, allowing software companies to get a much greater sense of the way their product plays out in the real world. Think of it as offshore qa testing: offshore software testing done to make sure that everything a program is intended to do, it really does, but with the benefit of hundreds of eyes and brains rather than just one or two. Two heads, of course, are better than one and many heads are better than that. Welcome to the future of software testing services.

Software testing companies account for a large and critical part of the development stage of a product. Crowdsourcing, like cloud computing, is making a big hit in the sector: software qa testing is coming to realise that many separate contributions going together to make a whole are better than a single large work effort. Software, after all, is designed and intended to be used by hundreds of thousands of people: so, when performing offshore qa testing, offshore software qa testing using thousands of contributors, the usability of the product is examined in a real world way – a way that lets the software companies know exactly how it will perform when it is released for real.

Performance testing using crowdsourcing, though a relatively new idea, is really only the logical extension of the existing offshore software testing practices already put in place by the major software design companies. It’s an intelligent extrapolation of what’s already out there. Outsourcing works because it allows companies to find and use expertise exactly as and when they need it: crowdsourcing, in the software qa testing sense, allows software companies to multiply the poll of expertise they have access to. Software testing services and software testing companies, which have a vital role to play in the successful development and release of new software, are doing what they do best – responding to a market need for ever more tight and controlled offshore software testing techniques.

Software is getting ever more complex and impressive – so it makes sense that the performance testing done by software testing service and software testing companies becomes more complex and impressive too. Crowdsourcing is the natural next step – making all our software better from the start.

Source:http://sitessoftware.com/crowdsourcing-a-new-paradigm-in-software-testing-outsourcing

Did you like this? Share it:

Testing & The Role of a Test Automation Engineer

The Role of the Test Automation Engineer (Test Engineer) is to: design, build, test, and deploy effective test automation solutions. To fulfill this role the Test Engineer applies appropriate automation technologies to meet the short and long term goals of the testing organization. The objective is to automate as much of the testing effort as possible with a minimum set of code / scripts. The focus should be on test effort not testing coverage – if one manual test case or manual test preparation process consumes a large percentage of test resources then this manual process should be the first to be automated.

Responsibilities and Deliverables

The responsibilities and deliverables of a Test Automation Engineer are dependent on the test phase and test automation framework.

Test Phase

Unit Test
The test automation engineer, in this case the application developer, instruments the application code in order to enable effective and repetitive unit testing of the code before it is incorporated into the current build. There are several Agile Development paradigms that incorporate this concept / process into their standard development cycle.

Function & System Test
The test automation engineer develops automated solutions to expedite test. This can take the form of tooling to increase the efficiency of test preparation and / or the creation automated of test cases.

Acceptance Test
The test automation engineer develops and deploys automated solutions to expedite acceptance test. In Function and System test the Test Engineer fulfils the same role but it is in the context of the Test Organization – if automation tooling is deployed as part of Acceptance Test then the automation solution should be treated / tested as part of the System being deployed.

For any given Test Phase the objective of the Test Automation Engineer is to put the power of automation into the hands of Test Designers / Testers. The Test Engineer should deploy the simplest solution to meet the defined need – the objective is not to build the "best automation solution ever" the objective is to effectively automate the testing effort.

Test Automation Framework

A test automation framework is the method or process being used to implement automation. Several frameworks have been implemented over the years by commercial vendors and testing organizations the skills required to develop within any given framework define the skills required by the Test Automation Engineer.

Record & Playback
Record and Playback frameworks were the first commercially successful testing solutions. The Automation Engineer simply records a series of steps or actions against the application using the appropriate Record and Playback tool. "Test Automation Engineer as a Tool-smith."

Extended Record & Playback
It became quickly apparent that a simple Record and Playback paradigm was not very effective and did not make test automation available to non-technical users. Several commercial vendors, test organizations, and automation engineers began extending the Record & Playback framework to make the solution more robust and transparent. These extensions included: Data Driven, Keyword, and Component Based solutions – as the Record & Playback framework was extended the Automation Engineer had to develop and deploy solutions (code) within the context of the extended framework. "Test Automation Engineer as a Tool-smith and developer."

Load / Performance
Load / Performance test frameworks provide a mechanism to simulate transactions against the application being tested and to measure the behavior of the application while it is under this simulated load. The automation engineer determines how to: load, measure, and control the application. Using the load-testing tool the engineer implements the automation solution to accomplish this task, the Automation Engineer will often need to extend the Load / Performance framework. "Test Automation Engineer as Analyst, Tool-smith and Developer."

This is not a complete list of the test frameworks available but it illustrates how the skill and abilities required to fulfill the role of test automation engineer are dependent on the framework.

Testing Mandate and Scope

The Test Automation Engineer must have a clear understanding of the Testing Mandate and how automation can be applied to help meet this mandate – for more on Testing Mandates and Testing Scope see the associated article Testing and The Role of a Test Lead / Test Manager. The temptation of any automation engineer is to automate everything; the challenge is to determine what should be automated and in what sequence to get the maximum return on the automation investment. Other roles in the testing organization focus on testing the application the automation engineer attempts to expedite the testing process by supplying and maintaining an appropriate automation solution.

Relationships with other Team Roles

Test Lead / Manager
The Test Engineer must have a good working relationship with the Test Lead but more importantly the Test Engineer must keep the Test Lead aware of any challenges or costs that could impact the delivery of test automation. The relationship between the Test Lead and Automation Engineer parallels the relationship between a Development Lead and Developer. The automation engineer must size, implement, and test a Testware solution while the Lead ensures the goals of automation are met. The one significant difference between a traditional development effort and test automation is that there is always an option not to automate – in fact if automation cannot show an immediate return of 4 to 1 in terms of effort / hours then it probably does not make sense to proceed with the automation effort.

Test Designer / Tester
The Test Automation Engineer must understand precisely what the Test Designer wants any given test case or group of test cases to accomplish. If you think of test cases as requirements, then the Test Designer defines the requirements for the automation effort; the Test Automation Engineer implements these requirements. In many ways the Test Automation Engineer works under the direction of the Test Designer in terms of what automation needs to be built but it is the role of the Engineer to determine how it should be built.

Developer / Product Support
The Test Automation Engineer will often encounter automation challenges that require an intimate knowledge of the application being automated. In order to have any chance of building a sustainable solution the Test Automation Engineer will have to a close working relationship with the development or product support – if the application has been purchased by a third party vendor.

Source:http://www.devbistro.com/articles/Testing/Role-of-Test-Automation-Engineer

Did you like this? Share it:

Agile and Independent Testing – Part 2

 

I’d like to leave you with several important thoughts:

   1.
      The developers still do the majority of the testing.  Just because there’s an independent test team it doesn’t imply that they are the ones doing all the testing.  In fact, nothing could be further from the truth.  They should be doing the minority of the testing effort, albeit the more difficult forms of it.

   2.
      An independent test team will support multiple dev teams.  For example, a test team of 5-6 people could support several development teams totalling 70 to 80 people.  I typically look for a 15:1 or 20:1 ratio of developers to independent testers, hopefully even higher than that.

   3. You need to consider better tooling.  Although the development team will still be using common agile testing tools such as the xUnit and FIT frameworks the independent test team (ITT) will need more sophisticated tooling.  First, the ITT will need to be able to report defects back to the team easily.  When the development team is using a Jazz-based tool such as Rational Team Concert (RTC) then this can easily be done using either RTC (the web interface may be sufficient) or another Jazz-enabled product such as Rational Quality Manager (RQM).  Second, the ITT will likely need more sophisticated testing tools, such as Rational Appscan for static and dynamic security testing and Rational Performance Tester (RPT) for performance testing (just two of several software quality management tools you should consider).

   4.
      Independent testing is economical. Although I listed several tools in my previous point (hey, I do work for a vendor after all) an "unfortunate" implication of my advice (unfortunate for IBM at least) is that you can reduce the number of licenses that you require and still get this critical testing done by centralizing their use.

   5.
      It may be a bit more complicated in regulatory environments.  In a strict regulatory environment the independent test team may need to repeat, or at least validate, the testing efforts of the development team.  In regulatory environments my fundamental advice is always this — Have practical people, including yourself, read and interpret the regulations.  If you leave it to the bureaucrats you’ll get a bureaucratic solution.

   6.
      This is an important scaling technique.  Parallel independent testing, when done in an agile manner, is an important technique which you should consider when scaling agile strategies to meet the uniques needs of the situation that you find yourself in.

Source: https://www.ibm.com/developerworks/mydeveloperworks/blogs/

ambler/entry/agile_and_independent_testing25?lang=en

Did you like this? Share it:

Agile and Independent Testing – Part 1

 

When it comes to testing on agile projects it is common practice for agile teams to adopt a "whole team testing" approach where the team itself does its own testing.  To accomplish this agile teams will often embed testers in the development team.  Programmers will work closely with the testers, often via non-solo development strategies such as pair programming, to pick up their valuable testing skills.  The testers will in turn pick up new skills from the programmers, and in effect both groups will move away from being just specialists (testers or programmers) to being what’s called generalizing specialists.  Whole team testing can be very different from traditional approaches where programmers may do some testing, often unit testing of their own code, and then throw it over the wall to testers and quality assurance (QA) professionals for verification and validation.

My experience is that whole team testing is a very effective strategy, that agile testing and quality strategies in general appear to be far more effective than traditional testing and quality strategies, but that whole team testing isn’t the full agile testing picture.  At scale, particularly in complex domains, complex technical situations, or in regulatory compliance situations, Disciplined Agile Delivery (DAD) teams will extend whole team testing with a parallel independent test team.  Although the development team still does the majority of the testing, the independent test team which is working in parallel to the development team looks for problems which are harder or more difficult for the development team to find and then reports potential defects back to the development team.

The types of testing that the parallel independent test team performs may include:

    *
      Pre-production system integration testing.  Does the solution work within your overall organizational ecosystem?  Importantly, if this is one of several teams currently developing new solutions, does this team’s solution work with what will be in production (including the work in progress of other teams) when they go to release?  In mid-to-large organizations the only economical way to do this sort of testing is via an independent, centralized team.

    *
      Usability testing.  Although it’s possible to do usability testing on the development team, the reality is that usability testing is a specialized skill that few people have (although could pick up via non-solo development).  Furthermore, particularly for solutions with many potential users, you may want to invest in a usability testing lab.  This is a centralized resource, or an outsourced resource these days, which is shared across many teams.

    *
      Security testing.  Security testing is also a specialized skill, albeit one well supported with sophisticated security testing tools such as the Rational Appscan suite which can be included in your continuous integration (CI) strategy.  Many organizations will centralize their security testing efforts.

    *
      Exploratory testing.  The fundamental goal of exploratory testing is to discover where the solution breaks, as opposed to confirmatory testing which focuses on showing that the solution conforms to the requirements (this is the type of testing the development team typically focuses on).  Exploratory testing is also a skill, a good one which everyone should strive to pick up, but exploratory testers are often few in number in many organizations.  So, to leverage their skills effectively you may want to have some of them on the independent test team while they mentor others while doing so.

    *
      Non-functional testing. Non-functional requirements have a tendency to fall through the cracks on some development teams.  Knowing this the independent test team will often "test to the risk" and focus on non-functional issues.

    *
      And much more.  The above points are just exemplars, not an exact list.  Please follow some of the links above for greater detail.

Source: https://www.ibm.com/developerworks/mydeveloperworks/blogs/

ambler/entry/agile_and_independent_testing25?lang=en

Did you like this? Share it: