Tuesday, 19 March 2013

How to write a System Test Plan?

How to write a System Test Plan?


Imagine for a moment you've just finished a web application for a client. Swimming around within that application is 100 bugs. What proportion of those bugs would you say is acceptable for the client to find (e.g. 50, 30, 10)? The point is, those bugs are going to be found by someone, and its either going to be you or the client. You can think of it as a sliding scale, the more bugs the client finds, the more your creditability suffers and the more damage you do to the business relationship.

In the martial arts there's a saying; "expect the best, but prepare for the worst". The US Navy Seals have a slightly more gun-ho version which goes; "The more you sweat in training, the less you bleed in battle." Notice how it says the ‘less' you bleed in battle, implying that if you enter into combat, you are going to get bloody. Software development is like this too, if you're going to create software, you are going to get bugs.

As a rough guide, you want to try catch at least 80% of all bugs. Ideally, you would go for 100%, a worthwhile but lofty goal. Your best bet for catching as many bugs as possible is to create a system test plan. Creating a decent system test plan is easier said then done. A good place to start is your functional specification (assuming you have one). In effect, your specification gets converted into the system test plan. What you are doing is checking to see if the things you said you were going to do have actually been done.

A test plan is nothing new, in fact, the structure I use was developed by Microsoft years ago. It's a simple format, a test case has a title, some steps, and an expected result. 

 
 
I write my test plans with the intent of having an independent QA tester run through it, so no prior knowledge of the system should be assumed. You want someone who has never used the system before because they will take a fresh approach. You're counting on them to use it in a manner which was never intended (e.g. on the ‘My Profile' page, they type in a really long name for the ‘Company' field and crash the system because the database only has room for a 32 character string).

You should keep your test cases short, to the point, and self contained (i.e. they generally don't link to other test cases). If you have a test case that goes over a page, consider breaking it into smaller units. The document itself should be self contained as well, that is; it shouldn't require the QA tester to get up and ask programmers questions like "what's the login password?". Instruct your QA tester to log any bugs they find in your bug tracking system and also to write a proper description rather then just saying "Test Case 16 failed." You may want to read my article on Logging Bugs Like a Pro for some suggestions on good bug logging practices.
 
 
Author: Louis Marshall
Source: Link
 

What Is a Test Plan?

What Is a Test Plan?

A test plan refers to a document that describes the scope, resource, schedule and approach of the projected testing activities.

The test plan identifies the test items, features that need to be tester, the tasks that need to be carried out, the designated person who would perform each of these tasks as well as any risks that may be require contingency planning. In terms of software testing, test plans provide detailed information about the forthcoming testing efforts.

These include:

The scope of testing
Test Schedule
Test Deliverables
Contingencies and Risks
Release Criteria

Test plan can also be considered to be the detailed document describing how the process of testing would proceed, who would perform the testing, what are the things that would be tested, how much time it would require to complete the testing process and the quality level to which the testing would be performed. Due to its importance, it is a frequently asked testing interview question in most IT related job interviews.

Creating Test Plans

In the earliest phases of deployment planning, it is the job of the testing team to develop a test plan. This plan defines the scope and objective of all testing efforts as well as identifies the tools, software and hardware that are required for performing the testing. It also specifies the functions and features that would be tested during the process. An all-inclusive test plan also contains information about any potential risk factors that may jeopardize the process of testing.

In case the testing team has been divided into several technology sub-teams, then each of the sub-teams would be responsible for developing a test plan for the specific technology area pertaining to that particular team. For instance, the networking team is required to prepare a test plan related to the testing networking features. Each member of the respective sub-team must review and approve the test plan of that particular team before it can be integrated into the main test plan.

Types of Test Plan

There are a variety of different types of test plans. These include:

Master Test Plan: This is a unified advanced test plan that brings together all the test plans for any particular project / product.

Test Plans for Specific Testing Levels: There are different test plans for each of the levels of the testing process. These include:

• Unit Testing Plan
• System Testing Plan
• Integration Testing Plan
• Acceptance Testing Plan

Test Plans for Specific Testing Types: There are a variety of test plans for the major kinds of testing such as Security Test Plan and Performance Test Plan.

Template for Test Plan

The content and format of any test plan varies greatly depending on the standards, processes as well as test management tools that are being used in the process of testing.

Author: David Vilson
Soruce: Link

What is Automated Software Testing Tools?

What is Automated Software Testing Tools?

Software testing is one of the most important phases of software development process. Though hundreds of software applications are released every year by different companies, many of them fail to reach people as they are loaded with bugs and other errors. Since most of the companies are using software to automate their business process, quality is extremely important and any error in the software can be disastrous to the company. Hence, software testing is very important to maintain quality. Usually any piece of software is first tested for its effectiveness. Testers check if the application does its task. For example, an application meant for a retail store will be tested if does all calculations correctly. If it doesn't, that can lead to loss to the company. There are many types of software testing to ensure all aspects of product quality are ensured and that theapplication is fit for mass adoption.

All software applications that we use are tested by software testing professionals with different software testing tools. These tests may include load testing, stress testing performance testing, data driven testing, web application load testing and many more. There are certain situations where the tester can't repeatedly test. For this they use automated software testing tools for automation testing. Automation testing can be very useful to test large-scale test scenarios that can't be manually tested in limited time.

Many software testing tools like Quicktest Pro are available to test standalone and web applications. These automated software testing tools can be used check different test cases as they are configurable to test all types of software. If you are building a standaloneapplication, you need a testing tool to automate the testing. If you are into web application, you need a different application. But some of the software testing tools allow you to test both types of applications.

If you develop a web or ajax development, you will a web testing software for web application load testing and application performance management. When getting an automated tool to test, check if your application can be configured so that it can be used test all types of software. Application performance management is crucial for any application to ensure optimal quality. To ensure that, testing professionals do load testing, performance testing etc.

Automated software testing tools are efficient and economical. They save lots of time and effort. These tools save hundreds and even thousands of human hours and even provide the best value for the money.

Author: John
Source: Link

Top 6 Software Testing Methods

Top 6 Software Testing Methods

WhiteBox testing:

This kind of testing checks the developed structure and the continuous flow of the software. Each code and is checked in the testing helping generate strong and efficient software.      

BlackBox testing:

This testing main intention is to specifically check the Software functionality, this processing ignores the software programming structure.

Performance testing:

This testing does the part of checking the load time and usability in terms of performance of the software.


Unit testing:

 this kind of testing is performed by programmers who keep themselves updated with the latest technology. They check the internal codes and the design structure of the specific software.

Automated Testing:

This kind of testing is performed by QA testers. Latest tools and techniques are implemented under controlled condition. QA Services strategies plans for individual deleted bug software and define a goal on how to be enable to deliver you risk free product.

Acceptability Testing:

This is the final test that ensures each product has gone through the detailed testing platform and matches the results asked by the Client.

Author: Adam George
Source: Link

Monday, 11 March 2013

ISTQB Foundation Level Specification

ISTQB Foundation Level Specification

The International Software Testing Qualifications Board offer trainings and exams such as the ISEB-SWT2 exam or the ISTQB-ISEB Certified Tester Foundation Level. This examination is open to all who is involved in the testing of software. These people are testers, analysts, engineers, consultants, managers involved in testing and developers of software. The Foundation Level aptitude exam can also be applicable to anyone that understands testing of software, project and quality managers and other related fields.

The usual content of the Foundation Level exam are the following topics:

The Basic of Testing
  • Importance of testing such as describing the reason that harms a software and testing as assuring quality
  • Objectives of testing and differentiating it from debugging
  • The testing principles
  • The basic testing process
  • Testing psychology
  • Testing the Life of a Software
  • Relationship of models and using samples
  • The recognition of software adaptation
  • Comparison between different objectives and other related concepts
  • The different type of tests
  • Maintaining the tests which includes distinguishing indicators and describing the maintenance
    • Fixed Techniques
    • The process and static test and methods includes software word, valuing techniques and difference between the types of techniques
    • The process of reviewing activities, differences between reviews and its factors
    • The fixed analysis with the use of tools, descriptions, usage of examples and the effects of designs
    • The Design Techniques
    • The development of the test process, comparative conditions of tests and the translation of cases
    • The classification of design techniques for tests includes the concepts of testing benefits, purpose and specific testing
      • Specific Basis
      • Test cases analysis and diagram transition
      • The four techniques of testing
      • The concepts of testing
        • Techniques Based on Experiences
        • Recalling if knowledge regarding defects
        • Comparison of experience and specification techniques
        • Classification of techniques related to software characteristics
          • Managing Tests
          • Organizing test which includes recognition of independent testing, job leaders and tester
          • The estimation of planning a test
          • Keeping track of progress
          • Constructing management

The examination is mostly composed of objective or cognitive level which are recalling, understanding, application and analysis. The examination may need to have other learning materials not stated above. The test can be taken as a required course or can be with your own decision. The exam is divided into five main topics which have a n allotted time of 115 minutes for each main topic and eighty minutes for the last main topic. More information can be found here: http://iseb-software-testing.co.uk


Source: Link
Author: Christophe

Can ISTQB help your career?

Can ISTQB help your career?


Now, more than ever, as everything on the planet has picked up pace, there has never been more emphasis on the importance of certification training. No matter what the industry, whether it be construction, corporate marketing, or software testing, the benefits of certification training are clear. In fact, it is nearly a requirement for anyone who is interested in taking their software testing career to the next level.

The International Software Testing Qualifications Board (ISTQB) is one source that has clearly established itself as the global gold standard for software testing accreditation. As such, the purpose of this article is to provide an overview of ISTQB, as well as how an ISTQB certification can help your career.

WHAT IS ISTQB?

The constant evolution of technology presents the challenge of keeping up to date with the latest advancements. To help, the ISTQB was formed to help software testers adapt to these changes. The ISTQB sets guidelines for accreditation, and facilitates the examination process and exam structure. It utilizes a practical approach that is designed to complement the way people work. ISTQB is the only not-for-profit organization solely dedicated to providing credible, practical, trusted, and globally-accepted software testing certifications that aim to raise the standard of the industry.

ISTQB certifications must be earned sequentially, beginning first with the ISTQB Foundation level, and then the ISTQB Advanced level which itself consists of 3 separate modules (Test Analyst, Test Manager, and Technical Test Analyst). The certification exams are based on each level's core syllabus, or outline, which provides basic knowledge as well as real-world problems to help software testers develop the skill set necessary to conquer everyday challenges.

HOW CAN ISTQB HELP YOUR CAREER?

First and foremost, an ISTQB software testing certification can help get your foot in the door. Any employment candidate holding this globally accepted certification will be viewed as having a high degree of proficiency and professional acuity. As such, you will have an immediate advantage over other employment candidates. Simply put, you will stand out from the crowd.

Additionally, the knowledge gained from pursuing an ISTQB certification can be used to elevate your leadership profile within the company. For example, you will be better equipped to coach colleagues, participate on teams, and generally enhance your reputation by making positive contributions and exchanging ideas linked to your name. You might even find that your company will ask you to make presentations and lead teams, which will naturally build confidence and strengthen your reputation. This networking can lead to excellent connections and opportunities as you continue to participate.
Finally, holding an ISTQB certification will help you stay up-to-date. What other industry moves faster than information technology? If you are certified, you will have the foundational knowledge necessary to stay on top of industry changes. This will enhance your career because you will quickly become known as an industry expert within your own company.

CONCLUSION

If you are a software tester, earning an ISTQB certification is one of the best things you can do for your career. It will help get your foot in the door, and then once there it will help to enhance your internal reputation and networking opportunities within the company. This will ultimately enable personal as well as professional growth, leading to a high probability of accelerated upward mobility.

Source: Link
Author: David Fox

What is ISTQB?

What is ISTQB?

ISTQB stands for "International Software Testing Qualifications Board". It is Belgium based International body legally established in the year 2002.

Software testing professionals from all over the world joined hands in formulating standardized contents for further education in the field of Software Testing. It is a multiple-choice exam & is an education program offered in 38 countries.

The ISTQB has come out with an International Qualification Scheme called "ISTQB Certified Tester".

Presently there are two levels of exams leading to the specific levels of certification.
Foundation Level Certification offers evidence that the certified person has a broad understanding of the key concepts & fundamental best practices of software testing.

1) Foundation Level Certification: Name of this certification is "Certified Tester Foundation Level" (CTFL). This is the only one foundation level exam. This is an entry level certification meant for people entering the field of testing and for experienced professionals desiring to move up the ladder of ISTQB certifications.

2) Advanced Level Certification: Name of this certification is "Certified Tester Advanced Level" (CTAL). This is the intermediate level certification. Eligibility for this exam is Foundation level certification i.e. CTFL certificate & 5 years experience of software testing. The candidate must have a Bachelor's Degree in IT or Computer Science or related field from a recognized institution; this can be substituted by two years of work experience in Software Testing.
Advanced Level Certification offers evidence that the certified person is a committed testing professional and has thorough understanding of key concepts & advanced best practices of software testing.

Following 3 - interrelated Advanced Level Certification Exams are available:
Candidate can go in for either or all of these advanced level certifications.a) Advanced Level Functional Tester:b) Advanced Level Test Manager:c) Advanced Level Technical Tester:

Additional Advanced Level Certification: After completing the above three advanced level certifications, one can go in for an additional Advanced Level Certification by the name "Advanced Level (CTAL) – Full Advanced Level". This is an exam of 1.5 hours duration.

This advanced level certification is meant for testers and programmers involved in non functional testing, structural testing or White Box Testing & for testers involved in automation. This advanced level certification is meant for test managers, development managers, and project managers responsible for testing. This advanced level certification is meant for software testers especially part of independent test teams involved in business-oriented testing. It provides the users the much needed & detailed information related to specifics of different testing techniques like behavioral testing or Black Box testing / White Box testing etc.

Source: Link
Author:  Yogindernath

Friday, 8 March 2013

What Is Embedded Software Testing?

What Is Embedded Software Testing?

Testing is one of the most important aspects of any industry. It is very critical that the software developed has to be examined to make sure it works as per the specifications and requirements. It is aimed that the software need to give the preferred benefits in accordance to the organization specifications and should be free from bugs. There are various varieties of testing including system testing, Unit testing and integration testing.

It has been noticed that if the application is not ready to give the desired output, it is mostly due to the purpose that there are some unexpected bugs in the application produced. These bugs are noted to the growth team and they repair them and attempt to get the outcome which is as per the requirements and project necessities.

One of the most effective methods of software testing is Automation testing. It has been observed that unit and integration testing if completed manually can be very expensive and time consuming. This is 1 of the good reasons why testing has to be automated. There are different testing tools which can carry out testing in few hours and produce the testing reports. Nevertheless, it should be noted that automation is needed for those elements of code which take a good deal of time to get examined. Comprehensive automation testing is not employed in real time environments. It depends upon the software specifications and management if they want to make use of testing tools.

Manual testing is typically relevant to the performance of the application to check if it is operating as desired or not. However, automation is required to examine the code of the programming and how application works. With the help of these instruments, the method of testing are sped up which can finish the job in short length. Large data set and mixtures can be examined effectively with automation programming. It has also been noticed that they are capable to give much more accurate results as human error can take place while testing software due to the fact of carelessness or boredom.

Software testing is performed by the software testers who have complete information and information about testing and how to use various tools. It is also one of the most crucial phases of software improvement. Men and women can make profession in this stream and can get profitable career presents. You can test on the internet that a lot of companies recruit individuals who are effectively-versed with the testing methodologies and techniques.

Source: Link
Author: alextaylor

Wednesday, 6 March 2013

The advantages of custom software development

The advantages of custom software development


In order to create the custom applications, the firm builds a team with a programmer, system analyst and a custom software developer. The firm requires this team to assess the needs in the organization and develop the custom applications. The following are the advantages of the custom software applications in an organization.

Coordination of business processes

Business web applications assist firms to coordinate various processes, by having a central repository of information. This enhances communication within various departments. The centralized software can also be used by various stakeholders in the firm. This enhances service delivery and efficiency. Custom business software developers analyze the needs of the organization. They are then able to develop the most appropriate custom mobile apps for the firm.

Easy to update

The firm can update and manipulate content in custom business web applications. This provides them with an avenue for hosting new and accurate details on the website. The applications also enable the firm to keep up with the latest trends in the industry. The web developer can install new tools and designs in the custom websites with ease. Through this, the company retains customers and also turns the visitors into potential clients.

Easy adoption by employees

The software developers design the custom mobile apps with the company in mind. They are designed to fit seamlessly with the organization's processes. They are supposed to enhance the various functions of the employees in an organization. The users of custom mobile applications do not have to try and fit their processes into another application. The employees and management also feel comfortable when adopting the custom mobile apps. The training procedures are also easy, since the employees are already familiar with the processes.

No need for license fees

Custom software applications are designed by employees of the organization. Therefore, the business does not need to get any licenses to use them. The license and rights for the software lie with the company, and they can choose to do whatever they want with it. The custom mobile applications can be used by a large number of personnel, without the need for paying anything for them. As the business grows, any changes made on the business web applications do not need any authorization.

Easy to develop

Custom business web applications are easy to develop, since they only need to incorporate features that the users ask for. The web app developer is an employee of the organization or professional web contractor and thus he knows the various functions of the business. The development team collects views from management and the actual users of the business web applications. They then design a prototype of the system for users to evaluate. Once the users approve, the development team can proceed with the process of designing the software. The last stage is implementation after which the employees are free to start using the custom software.

Outsourcing in Software Development

Outsourcing in Software Development

Software Development is the essential need of any industry today, and the information technology industry is completely reliant on it. But there is a difference between vital and main, that is to say, while creation of web applications may be very important for any company's smooth functioning, it might not be its specialty or primary output.

In such cases, having a separate division solely for this purpose is not feasible, and in-house creation may not always be up to the mark. Thus came into existence the practice of outsourcing, where this activity was handed over to firms which specialized exclusively in such services. This turned out to have many advantages.

Development- Why outsourcing is a good idea:
  • A company which is solely reliant on producing applications as its bread and better will have an infrastructure and set up most appropriate for this. It will hire some of the best and most experienced professionals in the field who will be adept in using latest technological advancements to fulfil customer demands.
  • On the other hand, your company will have only secondary need for such services, hence, the department will not be of such high calibre as that of a dedicated firm. The personnel, infrastructure and management practices might not be efficient enough to give you best possible results.
  • If you outsource your requirements, you will be able to save a lot of resources which can be better employed elsewhere in your organization.
  • Outsourcing is known to produce more efficient, faster and better results. The product that you get is properly tested, tweaked and flawless. Prevalent trends also indicate that this leads to faster time to market.
What to look for in a firm before handing your project to them?
  • Because of the increasing demand for outsourcing, a lot of organizations have mushroomed to offer their services. You need to be able to decide which is the best and most suitable company for your needs and requirements.
  • Look for a company with plenty of experience and an impressive track record. They would like to maintain their reputation in the market, therefore they will give you matchless services.
  • It helps if you can locate a reputed service provider for the kind of applications you are interested in. They will have the technical expertise to provide you requisite results swiftly and flawlessly.
  • Contact them for an initial consultation. See what kind of guarantee and assurances they can give you regarding the project completion. Always review the contract, especially the confidentiality clause before finalizing the deal.
Software Development is an important and indispensable requirement, which needs to be managed perfectly. So, make sure that you are hiring a dependable firm for it.

Source:Link
Author: Tom Mudi

What is ISEB-ISTQB?

What is ISEB-ISTQB Certification?


ISTQB stands for "International Software Testing Qualifications Board". It is Belgium based International body legally established in the year 2002.

Software testing professionals from all over the world joined hands in formulating standardized contents for further education in the field of Software Testing. It is a multiple-choice exam and is an education program offered in 38 countries.

The ISTQB has come out with an International Qualification Scheme called "ISTQB Certified Tester".

Presently there are two levels of exams leading to the specific levels of certification.

Foundation Level Certification offers evidence that the certified person has a broad understanding of the key concepts & fundamental best practices of software testing.

) Foundation Level Certification: Name of this certification is "Certified Tester Foundation Level" (CTFL). This is the only one foundation level exam. This is an entry level certification meant for people entering the field of testing and for experienced professionals desiring to move up the ladder of ISTQB certifications.

2) Advanced Level Certification: Name of this certification is "Certified Tester Advanced Level" (CTAL). This is the intermediate level certification. Eligibility for this exam is Foundation level certification i.e. CTFL certificate & 5 years experience of software testing. The candidate must have a Bachelor's Degree in IT or Computer Science or related field from a recognized institution; this can be substituted by two years of work experience in Software Testing.

Advanced Level Certification offers evidence that the certified person is a committed testing professional and has thorough understanding of key concepts & advanced best practices of software testing.

Following 3 - interrelated Advanced Level Certification Exams are available:
Candidate can go in for either or all of these advanced level certifications.a) Advanced Level Functional Tester:b) Advanced Level Test Manager:c) Advanced Level Technical Tester:

Additional Advanced Level Certification: After completing the above three advanced level certifications, one can go in for an additional Advanced Level Certification by the name "Advanced Level (CTAL) – Full Advanced Level". This is an exam of 1.5 hours duration.

This advanced level certification is meant for testers and programmers involved in non functional testing, structural testing or White Box Testing & for testers involved in automation. This advanced level certification is meant for test managers, development managers, and project managers responsible for testing. This advanced level certification is meant for software testers especially part of independent test teams involved in business-oriented testing. It provides the users the much needed & detailed information related to specifics of different testing techniques like behavioral testing or Black Box testing / White Box testing etc.

Source: Link
Author: Yogindernath

Benefits of Software Testing in 2013

Introduction and Importance
Software development companies dedicate a substantial amount of resources and manpower for the development of applications according to requirements specified by enterprises or individuals. However, subsequent to development of such applications/software, companies are required to ensure that such software/applications perform in accordance with the client's requirements. To ensure that any and all bugs in the software are identified prior to the deployment, various testing procedures are implemented by the IT industry. The importance of this is directly related to the ability of software to measure up to its potential. If the new software is unable to perform the task it was designed for, the client might face severe losses due to stoppage of work and also adversely affect the business of the software development company. The scope of these procedures is to facilitate identification of a problem in the software, fixing of such problems is not within in the scope of software testing. Some of the leading methodologies implemented by companies in the IT industry include General, Load, Functional and Regression Testing.

General Testing
This refers to the general tests carried out on software/applications to ensure the functionality of newly developed software. Some of the common tests included as part of standard Quality Assurance procedures are web performance and usability testing. The web performance testing procedure is mostly engaged in evaluating the online performance of a web-based software application or a website. Usability testing is a mainly subjective approach, which ensures that the software is capable of being utilized effectively in a given set of circumstances. The purpose is to identify the general operating capability of the software/application being tested and to help developers determine some of the areas of improvement for the software. A software development company usually performs general testing of software/applications along with other more advanced methods to ensure that the software conforms to the pre-defined operational capabilities specified by the client/user group.


Load Testing
The load testing procedure simulates operating conditions of the software/application during periods of higher/normal load to gauge the effect of such changes on the functioning of the software/application. This is not the same as stress testing, because load testing checks the operational capabilities in case of both normal load and high load conditions, while stress testing attempts to induce errors in normal operations by using increased system load. This is considered to be a type of non-functional testing, which is undertaken by software development companies to gauge the multi-user support capabilities of the application.

As a commonly employed practice in the software industry, its specific goals are widely disputed and the term is often utilized in conjunctions with volume, reliability, software performance and concurrency testing. By using load testing, developers can attempt to determine the reason for slow performance of software. The common reasons for such slow response commonly include load balancing between multiple servers, client-side processing, network congestion/latency, available database service and/or bugs in the application server(s) or software. The use of load testing is recommended for software/applications, which are subjected to SLA (service level agreement) for ensuring that the software is capable of supporting multiple users. As the procedure simulates an increase in system load by using multiple virtual users, various software are currently available to carry out load testing. Some of the leading load-testing tools used by developers globally are IBM Rational Performance Tester, Apache JMeter, LoadRunner etc. Additionally, a load testing tool commonly favored by software testing companies in India is available as part of the Visual Studio Ultimate Edition of Microsoft.

Functional Testing
This type of testing is a type of black-box testing based on the specifications of the software components being tested. The functions of specific components of the software are feeding inputs and checking the output thus obtained. In functional testing, the internal structure of the program is seldom considered hence, it is classified as a type of black-box testing. The key steps involved in functional testing include identification of functions, which the software is expected to perform, creation of input data according to specifications of the identified functions, determining output based on the specifications of those functions, executing the test scenario followed by comparison of the obtained output vs. the expected output. Functional testing is not the same as system testing as system testing involves validation of a program in comparison to the published system or user requirements, whereas, functional testing is carried out by checking a program with respect to established specifications and available design documents for the software/applications.

What's Next?
As new technologies emerge, more testing procedures are being developed and implemented by organizations all over the world to ensure that new software perform according to their requirements and specifications even when stress or when additional functionality is introduced into the software. The emerging testing solutions, which are powered by new technology, are designed to reduce the time and resources required for testing in order to streamline the quality control / quality assurance services associated with software development. Some additional types of testing, which are currently used in the software industry are white box testing, system testing, non-functional testing, acceptance testing and integration testing. Each of these testing was developed to identify and resolve application/software limitations in a specific set of conditions; hence they are useful for software testing carried out in case of specific quality assurance and testing procedures. 


Source: Link
Author: eXtendCode

Software Testing in India

The Importance Of Software Development In India


In recent decades, India has emerged as the world leader in software development. There are some compelling reasons why companies outsource to India. Foremost is the availability of an instrument of great talent in the English-speaking workforce. The colonial government two centuries of life in India left an education system that is brutally beaten in the direction of English. The result is that India has a large number of English speaking graduates, which are easy to talk to foreign customers

The workflow software development to India helped the Indian outsourcing providers to acquire the expertise to deliver innovative solutions. Trader's experience that can provide tailored solutions for customers. Companies outsourcing to India have shown that providers of software solutions in India, available to the best combination of performance, reliability and cost to deliver.
Rigorous mathematical and scientific drilling that Aboriginal students in their first years of education are exposed makes them strong enough to withstand the rigors of advanced courses in mathematics and computer science. Graduates in engineering and computer science technical universities in India are comparable with the best in the world into chaos. The result is that Indian software companies have access to great talent, a very low cost.

Major investments in the telecommunications and broadband operators in India, the number of major suppliers at competitive prices to customers overseas. Software Development in India takes place in a series of platforms, including Java, Net, and PHP. Other advantages of outsourcing your software development in India is the rapid solution of problems of the situation in India in a different time. Suppliers of India cannot solve customer problems faster than suppliers in countries like India is five and a half before Greenwich Mean Time (GMT).

If a company outsourced their software development in India, saving costs involved are enormous in terms of time and money. Management can concentrate on more pressing matters, such as construction of strategy and product development. By outsourcing the management of business processes of marketing and business development, the approach is vital to the survival of a company.
So if you long for the business of software outsourcing software developers with experience and better communication should seek to be certified, if the destination. AYS Technology for more information on the development of the outsourcing of software products services, software development and software testing.

Source: Link
Author: Aystechnology

The Fundamentals of Software Testing

 What the fundamentals of Software Testing?


The Fundamentals of Software Testing” is the first module of the ISEB Software Testing Foundation course and examination syllabus. ISEB recommend that Software Testing Foundation students spend 20% of their study time on the Software Testing Fundamentals course section. “The Fundamentals of Software Testing” is also the title of the opening chapter in the official ISEB Software Testing manual.

Understanding the fundamentals of software testing is clearly crucial to achieving proficiency according to the ISEB software testing professional standards. But what, precisely, are these “fundamentals” of software testing, and what do you need to know in order to pass the ISEB Software Testing Foundation examination?

Why is testing necessary?
According to Peter Morgan (freelance testing practitioner and member of the ISEB Software Testing Accreditation and Examination panel), an unnecessarily high proportion of IT systems fail to fulfil expectations – or fail to work at all – because of insufficient software testing prior to release.

Software testing cannot guarantee against software problems or even failure, but it can minimise the risk of faults developing once the software is in use. In order to understand why software testing is necessary, it is important to consider the causes and impact of IT systems failure, and the crucial role that testing plays in Quality Assurance.

The ISEB Software Testing Foundation training-courses focus on five learning requirements:

• The potential impact of an IT systems failure;
• Causes/effects of software failure;
• Why testing is necessary;
• Testing versus Quality Assurance;
• Basic industry terminology.

What is testing?
Software Testing is a method of identifying faults in the product before it is released; this includes defects in the software code and its execution, as well as any potential gap between what the code is supposed to do and what it actually does.

The ISEB Software Testing Foundation exam requires students to:

• Know the basic objectives of testing;
• Understand how these testing objectives apply in the context of creating, using and supporting software (including the difference between testing and ‘debugging’, and the different uses of static testing and dynamic testing).

General testing principles
The ISEB Software Testing courses introduce students to 7 software testing principles:
• Testing can show that problems exist, but not that problems do not exist.
• Testing covers a limited range of sample situations, and is not comprehensive.
• The earlier a problem is found, the less it costs to fix.
• Defects will tend to cluster around specific areas (e.g. system complexity, or staff inexperience). These areas can be particularly targeted by testers.
• A set of tests, run repeatedly, will have diminishing effect.
• The type, design and focus of testing will vary according to the software tested.
• A test that does not reveal errors does not prove that the software is error-free.

Fundamental test process
Software testing is not simply a case of reviewing documentation or running a software program to check for bugs. To ensure that the appropriate tests are operated effectively and return value on the invested resources, it is crucial that software testers carry out five basic activities, which the ISEB Software Testing guidance links to form a software testing process:

1. Test planning and control
a. Test planning defines what will be tested, how it will be tested, and who we will know when the testing is complete.
b. Test control is an iterative activity that compares the progress against the plan, and adjusts the plan as required.

2. Test analysis and design
a. Test analysis considers the specific conditions to be tested, and how these test conditions are to be combined into test cases.
b. Test design describes the expected outcome of the test, so that testers can easily recognise when a fault has occurred.

3. Test implementation and execution
Execution represents the most visible testing activity, and encompasses setting up the tests, generating test data, logging test activities and analysing the test results.

4. Evaluating exit criteria and reporting
The test “exit criteria” (established during “Test planning and control”) indicate that testing is complete.

5. Test closure activities
• Ensure that all documentation has been correctly completed
• Close down and archive the test environment, infrastructure and testware
• Hand over testware to maintenance team
• Log lessons learned

The psychology of testing
Selecting the appropriate individual(s) to perform the tests, and communicating the results of the tests to the developers, requires a basic understanding of the psychology of testers and developers.

The ISEB Software Testing guidance provides a hierarchy of ‘independence’ – that is, a list of individuals who could potentially test the software, gradated according to their perceived level of detachment from the development process:

• The authors of the code
• Members of the same development team as the authors of the code
• A different group within the same organization
• A different organization

There are varying advantages and disadvantages to individuals at different levels in the hierarchy performing the software tests. For example, the developer might be able to resolve a difficulty more quickly, but might be also be less likely to spot the difficulties in the first place.

In addition to the independence/detachment of the testers from the software development process, it is important to consider how testers can communicate the results of the test to the developers. The ISEB Software Testing Foundation exam requires students to explain strategies for providing courteous feedback on defects, for example:

• Focus on delivering quality, rather than pointing out mistakes;
• Test reports are not directed towards people but towards products;
• Discuss problems openly, and attempt mutual understanding;
• At the end of a discussion, confirm that both parties understand what has been agreed.

Summary
Understanding the fundamentals of software testing is crucial to passing the ISEB Software Testing Foundation examination. During an accredited ISEB Software Testing Foundation course, approximately two and a half hours should be devoted to studying what testing is, why it is necessary, and the fundamentals principles and processes behind a successful test performance.

Source: Link
Author: Projectmanuk

Outsourcing in Software Testing

The Need to Outsource Software Testing


Before we proceed to enumerate the advantages of outsource software testing, we would first like to explain the concept of testing and the need for outsourcing as this will help you in grasping the concept efficiently.

Software testing is a cumbersome process which needs careful examination of a lot of parameters. There are a lot of different types of testing available which can be broadly categorized into two main heads namely the black box testing and the white box testing. The companies which carry out the testing process should be skilled in carrying out both these testing as both these are complementary forms of testing and are thus integral to the success of your product concept and idea.

Most firms opt to outsource software testing as it helps them in saving a lot of money in the long run. It is not possible for all firms to be conversant in the different areas of testing and this is the reason these firms like to outsource this part of their project to firms who can excel in it. It saves the software developers any botheration to hire testing experts and at the same time, they can be assured that their products would be thoroughly tested because they have hired the finest team in the field.

Hence, now that you are aware of the details of software testing, we will now proceed to other details. When a manufacturing firm decides to outsource software testing, it should wait for the results. As a part of the software testing process, there are a lot of steps that would be executed. First of all, the software is tested without extensive code examination. In this phase, merely the different errors are traced with help of techniques like equivalence partitioning or boundary value analysis.

This is known as the black box testing where the testers may not be aware of the details of the codes used in the making of the software.

The other type of testing which the white box is testing involves rigorous testing of the code and it finds out coding errors and a lot of other problems. The code is subjected to a variety of different tests. We also have unit testing, integration testing and system testing. Yet again, these tests are carried out in detail as they serve to explore the details of the software. Thus, you must have got a clear idea about the ways in which your decision to outsource software testing can be of help. Testing is a critical step in software making because testing exposes the errors and problems in the software and thus ensures that you can fix the troubles before soiling your reputation by launching erroneous software in the market.

Source: Link
Author: herry001