Friday, 30 August 2013

Software Testing vs. Debugging

Software Testing vs. Debugging

Software testing is more than just finding errors in software source code. It serves more complex function in software development than just unearthing script errors. Although software test is described as the process of executing a system with the purpose of finding defects it is more involved in ensuring software's reliability and determining if it meets the required outcome. It also greatly deals with software's verification and validation.

One primary purpose of software testing is to evaluate the capabilities or attributes of software's capability to satisfactorily meet the standards and customer requirements. But one has to remember that software test is not an absolute measure of quality. Testers' job is to test not to create therefore it is the responsibility of software developer to build a quality software for the testers to perform a quality test on a quality program. The function of a tester is to point out the bugs and weaknesses of the software it is, again, up to developers to act upon it. Testing can never completely establish the correctness of computer software it simply provide a criticism or comparison of the product to the existing standards, specifications and user requirements.

Testers is not equal to bug-finders, bug-finders are wannabe testing professionals whose idea of software testing is autopsying the codes to uncover bugs. Real and mature software testers are more concern with the issue of verification and validation of rather than just bug-digging. They focus on verifying and validating if the software passes or reaches the desired standards or requirements before considering it for general use. They are the one responsible for throwing and answering the questions: Did we develop the software right? Did we develop the right software?

He believe that their job is only to uncover bugs must then seek maturity and explore opportunities and learn how to become more productive in this field. Challenge themselves to become a greater asset to the team rather than just a bug-finder.

Source: Link
Author: Prithwiraj Chakraborty

How to write a Test Case?

How to write a Test Case?

In software testing test case (TC) writing is one of the important activities. Many things will be left out if you are not following the proper process in this area. In this article let us try to identify some of the critical areas what you must keep in your mind while writing TCs for your project.
  1. TC must contain clear definition of the condition for which you are testing the application. In any standard test cases template, there is a precondition section present so make sure you fill that up properly. So if you are testing login function under 50% load for performance testing in the precondition mention "system is having 50% process utilization." So later on if the client wants to check for what condition, you have checked this TC, they can refer the precondition section.  

  2. TC must be clearly traceable to a requirement. The ultimate goal of any testing is to make sure that you have TCs for each requirement. It is a good practice to create a requirement traceability matrix at the end of test-case writing and validate if any requirement is missed and does not have a corresponding test case to cover.  

  3. TCs must have very clearly stated steps. So in the test step section make sure you put the steps in such a way that anybody even new in the project can run it. After writing the test-case do a dry run in your mind and see if any step is missing. It also helps during bug fixing for the development team. You can just send it to them in excel or attach it in your defect. If the steps are clear and simple enough they will be able to reproduce the bug without asking you for more clarification.  

  4. For each test, TC makes sure you clearly mention the expected results or what would happen after execute the steps. If in the step you have four validation condition, then for each validation, you must have an expected result. For example, if in the first step I say user logs in with proper user id and password, then the expected result would say the user login successfully to the dashboard and can see various buttons in the dashboard screen. Similarly, if the user does not have enough permission to see all the buttons, you may mention user logs into the system successfully but only can view the screen but edit button will be disabled until the user, etc. Make sure you write it for all such actions. During testing the tester should not try to assume what is the expected outcome and miss a defect.  

  5. Last critical think of TC writing is test data preparation. After writing the test case you must attach the proper data against it. Again this has to be done for each step. In our example test where a user logs into the system with a role with all permission and limited permission, you need to find at least two user accounts. You can attach the test data in the test case itself by adding one column called test data.

These are some of the steps very critical during test case writing. Furthermore, make sure all these areas are reviewed in several layers to ensure proper quality.

Author: Prithwiraj Chakraborty
Source: Link

What Is Usability Testing?

What Is Usability Testing?

In this article, we will try to answer one of the frequently asked questions in software testing, and that is "What is usability testing?" This is one kind of validation where we test the system from user's perspective.

The purpose of this is to check the following areas:

Does the UI of the system meets all the user requirement or after using one time the user will never use the application again? Here typically first thing we check is the application navigation system to make sure all the pages or forms can be navigated from one to another without any error.  Next we check if the look and feel, screen labels are correct and unambiguous. Third all the standard windows controls are present. This is very important for the usability perspective as most of the users are used to with all the standard windows or browser controls and if some of them are missing or in the wrong place they may face difficulty to navigate through the application. 

The next major objective of the usability testing is to test the application in a lab environment which closely simulated the actual user environment. We also try to match the load of the production systems. Typically, production like data will be used during this testing to get a realistic result from the application under test. This mitigates the risk of having surprised after prod deployment of the application.

At the end of the usability testing you have baseline user performance measure in place, which can be shown to the business users to set the correct expectation.
So now when we know what are the goals for usability testing let us check next. What are the steps to perform it?

1. Decide a handful of test case scenarios which you should run as a part of usability testing. The selection criterion is very simple. Talk to the end users and try to understand the frequently used functions in the business today. Often you may even use a back end system such as DB query or service calls, etc. to get these statistics.

2. Next select some end users who can take participation in this testing. Actual business users who run the application day to day would be really good in this part.

3. Set up the actual test lab for usability testing. As I have already mentioned it has to be as close as possible to the actual production environment with the similar kind of data loaded.

4. Provide the end used set of test cases to run and observe and write down all the problems they face during test execution. Collection of quantitative and measurable data is very important here. That is why it is a good idea to have some number of test coordinator who would actually write those observations on the behalf of the end users. Because they are not testing professionals so you cannot expect them to write defects for you.

5. Based on the observations send the recommendations to the development team.

Author: Prithwiraj Chakraborty
Source: Link

What is Agile Software Testing?

What is Agile Software Testing?


To understand the testing process in Agile development methodology, it is important to understand the paradigm of Agile development. The Agile Development paradigm is not new. Although Agile Software Development Manifesto was launched in February 2001, the concepts existed well before this and have been expressed in different ways. Development methodology spiral is an example.
What is Agile Software Development?

 The Agile Software Development focuses mainly on an iterative development and delivery. Developers and end users to communicate closely, and the software is built. A working software is delivered in a short period of time and based on the comments more features and capabilities are added. The emphasis is on customer satisfaction by providing software quickly with minimal features and improvisation based on the feedback. The client is closely involved in software design and development process. Delivery times are short and the new code is built on the previous one. Despite this, the quality of the product can not be called.

What is the test in a scenario of Agile development?

 The test strategy and the Agile development approach could be very different from the traditional bureaucracy. In fact, it can vary with the needs of the project and the project team. In many scenarios it make sense to not have a team of test. The above statement should be understood carefully. Failure to have a testing team, we do not consider the tests to be less important. In fact, testing can be more effective in short, by people who know the system and its objectives very well.

For example, some teams of Business Analysts could make a few rounds of tests each time the software version is available. Business Analysts understand the requirements of the company and the test software to check if it meets the requirements.

Developers test the software in May. They tend to understand the system and can verify the test results in a better way. Testing for Agile Software Development requires innovative thinking and the right mix of people should be selected for the test.

Author: Prithwiraj Chakraborty
Source: Link

Sunday, 18 August 2013

Contract Test Analyst - ISEB / ISTQB - Job £350p/d - £380p/d

Contract Test Analyst - London - 6 months - £350p/d - £380p/d - Payments - Quality Centre - QTP - ISEB

Our client is one of the healthiest banks in the world at this current time (virtually zero exposure to the sub-prime market). Furthermore, if you like the excitement of working in the IT banking sector, but don't especially enjoy the culture of long hours and intense pressure this could be the organisation for you.

This organisation respects work / life balance of its employees. A contract opportunity has arisen to join this banking group as Test Analyst to concentrate of their payments systems.
Job purpose: Main Requirements:

Test Planning/Scripting/Data preparation/Execution.
Experience with integration testing of payments flows, not just 'user-driven applications'.
Whilst the user interface aspect is indeed important, testing the flows of the backend systems including databases and middleware and integration/interfaces between subsystems is key.
Advanced experience with HPQC.

  • Good technical skills, including VBA, XML and SQL.
  • Advanced functional automation knowledge with QTP - CPC preferred.
  • Preferably some experience with non-functional testing.
  • Test Reporting and Defect management.
  • Basic knowledge of test governance for different development methodologies.
  • Additional Requirements:
  • Good communication skills, both written and spoken.
  • Should have the ability to build relationships with external teams for testing engagements. Good problem solving skills.
  • Core responsibilities:
  • To hire a temporary member of staff who can work in manual testing for Banking Operations and automate once testing is completed
  • Test Planning/Scripting/Data preparation/Execution.
  • Advanced experience with HPQC.
  • Good technical skills, including VBA, XML and SQL
  • Test Reporting and Defect management.
  • Basic knowledge of test governance for different development methodologies.
  •  Preferably some experience with non-functional testing.
  • Education (Preferred): ISEB Foundation Certification

Source: Link

Test Manager - Testing Tools Analysis and Selection - ISTQB / Prince 2 - Job

Test Manager - Testing Tools Analysis and Selection - ISTQB / Prince 2

About the Job

Test Manager - Testing Tools Selection - Testing Tools Analysis - ISTQB - Prince 2 - QC

Our major International client is looking for an experienced Test Manager with an background of reviewing Testing Tools, producing documentation to support this along with a tools approach and guidelines. This includes reviewing the tools for requirements gathering and documenting a proposal for improvements.

You will be responsible for :

Reviewing existing testing tools and creating a testing ?Tools Profile` This includes close liaison with key stakeholders to identify the levers to successful delivery and embedding change.
Reviewing requirements processes and tools and producing recommendations.

Providing a definition for tool selection and deliver in a "Tools Approach" document and
"Document Tools Guidelines"
Establish the Framework for Test Management Tools including metrics and reporting.
Manage engagement with all appropriate communities to give consistent delivery and embedding.
Follow our clients "Project Delivery Method" for this assignment.
Document testing tools advice for multiple-locations.

It is expected that you will have sound previous experience of Testing Tools analysis as well as -
Strong and demonstrable knowledge of Test Management methods and tools
Qualified in Test Management method(s) (e.g. ISTQB qualified
Qualified in Project Management method(s) e.g. PMI, Prince2.
Qualified with proven experience in implementing testing tools e.g. QC qualified
Be a proven Test Manager with experience of IT deployments in a large-scale environment (ideally more than 5 years of such experience)
Experience of working with senior stakeholders
Good understanding of project management methodologies, tools and techniques
Strong communication skills adaptable to team members, senior stakeholders, peers and suppliers
Be able to communicate complex technical issues in clear terms to non-specialists
Have a sound understanding of current IT technologies

Due to the volume of applications, we regret that we can only respond to those meeting our above requirements.

Source: Link


Software Test Analyst with Oracle and ISTQB - Job

Software Test Analyst with Oracle and ISTQB

About the Job

Software Test Analyst with Oracle and ISTQB, Herts, £30 - 40K + bens
Our client delivers award winning solutions to leading businesses worldwide. Their projects often involve multiple countries & complex financial processing.
Their rapid growth and policy of continuous product enhancement means that they have a need for an opinionated and effective product testing function!
Our client’s offices are a 20min fast train ride from Kings Cross.
The Position
You will be working in a small team performing, refining and supporting our client’s approach to System Testing of both enhancements and bug fixes
The Person
They are seeking bright, talented, ambitious and self-motivated individuals who are able to think laterally to join the team. They seek people who not only show enthusiasm for their day-to-day role but are keen to develop the business going forward. Successful candidates will be committed, keen to develop their skills further and equipped to deliver on the promises they make to customers. It is essential that you are able to learn quickly and absorb new ideas.
You must have
·         Extensive software testing experience in an Oracle environment.
·         Experience of software testing tools, whether for test management, capture replay, data preparation, debugging, load test, security penetration or requirements testing.
·         Understanding of the full Software Development Lifecycle
·         ISTQB Foundation Certificate
It would be an advantage if you have any of the following:
·         Experience of TOAD, SQL PLUS and/or Oracle Forms
·         Experience with HP Quality Centre
·         Experience with  HP QTP or a similar regression testing toolkit
·         A strong mathematical or financial background
This is a great opportunity to work for a growing successful company with a fantastic product.
Source: Link

Senior Test Analyst / QA Engineer (ISEB / ISTQB, Agile) - Job

Senior Test Analyst / QA Engineer (ISEB / ISTQB, Agile)

About the Job

We are looking for a Senior QA Engineer / Test Analyst with experience of designing, developing and executing test plans in an Agile environment for a market leader and expanding software solutions company in Bedford, Bedfordshire. Any experience of Jira, Wiki and/or Zephyr would be ideal but not essential.

As the successful Senior Test Analyst / QA Engineer you will be responsible for designing, developing and executing test plans as well as providing team and technical leadership across an Agile environment involving solution design, test planning, functional testing, defect management and process improvements.

As a Senior QA Engineer / Test Analyst you are likely to understand client server and web based applications as well as exposure to tools such as Jira, Wiki and/or Zephyr. A fantastic opportunity to have an influence over future direction of testing activity and the approaches taken.

Skills required for the role of Senior Test Analyst / QA Engineer (ISEB / ISTQB, Agile):

  • Good software testing experience which is likely to be backed up by an ISEB or ISTQB certification
  • Experience of functional testing, reviewing acceptance criteria, manual testing, exploratory testing and assisting in performance, security, integration or acceptance testing
  • Examples of taking the Lead and Senior role in testing activity
  • Experience working in an Agile delivery environment
  • Good knowledge of both client server and web based applications
  • Likely to have knowledge of at least one of the following: Jira, Wiki, Zephyr or SQL Server databases

Senior Test Analyst / QA Engineer (ISEB / ISTQB, Agile)Salary: £30-35k (depending on experience) + benefits

Location: Bedford, Bedfordshire

Commutable from: Milton Keynes, St Neots, Northampton, Luton, Stevenage, Peterborough, St Albans, Watford, Buckinghamshire, Cambridgeshire, Northamptonshire and Hertfordshire

Apply now for further information on this excellent opportunity.

Source : Link

Saturday, 10 August 2013

ISTQB Exam Question Paper, Part 6

ISTQB Exam Question Paper, Part 6

21 Which of the following should NOT normally be an objective for a test?
a) To find faults in the software.
b) To assess whether the software is ready for release.
c) To demonstrate that the software doesn’t work.
d) To prove that the software is correct.

22 Which of the following is a form of functional testing?
a) Boundary value analysis
b) Usability testing
c) Performance testing
d) Security testing

23 Which of the following would NOT normally form part of a test plan?
a) Features to be tested
b) Incident reports
c) Risks
d) Schedule

24 Which of these activities provides the biggest potential cost saving from the use of CAST?
a) Test management
b) Test design
c) Test execution
d) Test planning

25 Which of the following is NOT a white box technique?
a) Statement testing
b) Path testing
c) Data flow testing
d) State transition testing

26 Data flow analysis studies:
a) possible communications bottlenecks in a program.
b) the rate of change of data values as a program executes.
c) the use of data on paths through the code.
d) the intrinsic complexity of the code.

27 In a system designed to work out the tax to be paid:
An employee has £4000 of salary tax free. The next £1500 is taxed at 10%
The next £28000 is taxed at 22%
Any further amount is taxed at 40%
To the nearest whole pound, which of these is a valid Boundary Value Analysis test case?
a) £1500
b) £32001
c) £33501
d) £28000

28 An important benefit of code inspections is that they:
a) enable the code to be tested before the execution environment is ready.
b) can be performed by the person who wrote the code.
c) can be performed by inexperienced staff.
d) are cheap to perform.

29 Which of the following is the best source of Expected Outcomes for User Acceptance Test scripts?
a) Actual results
b) Program specification
c) User requirements
d) System specification

30 What is the main difference between a walkthrough and an inspection?
a) An inspection is lead by the author, whilst a walkthrough is lead by a trained moderator.
b) An inspection has a trained leader, whilst a walkthrough has no leader.
c) Authors are not present during inspections, whilst they are during walkthroughs.
d) A walkthrough is lead by the author, whilst an inspection is lead by a trained moderator.

31 Which one of the following describes the major benefit of verification early in the life cycle?
a) It allows the identification of changes in user requirements.
b) It facilitates timely set up of the test environment.
c) It reduces defect multiplication.
d) It allows testers to become involved early in the project.

32 Integration testing in the small:
a) tests the individual components that have been developed.
b) tests interactions between modules or subsystems.
c) only uses components that form part of the live system.
d) tests interfaces to other systems.

33 Static analysis is best described as:
a) the analysis of batch programs.
b) the reviewing of test plans.
c) the analysis of program code.
d) the use of black box testing.

34 Alpha testing is:
a) post-release testing by end user representatives at the developer’s site.
b) the first testing that is performed.
c) pre-release testing by end user representatives at the developer’s site.
d) pre-release testing by end user representatives at their sites.

35 A failure is:
a) found in the software; the result of an error.
b) departure from specified behaviour.
c) an incorrect step, process or data definition in a computer program.
d) a human action that produces an incorrect result.

36 In a system designed to work out the tax to be paid:
An employee has £4000 of salary tax free. The next £1500 is taxed at 10%
The next £28000 is taxed at 22%
Any further amount is taxed at 40%
Which of these groups of numbers would fall into the same equivalence class?
a) £4800; £14000; £28000
b) £5200; £5500; £28000
c) £28001; £32000; £35000
d) £5800; £28000; £32000

37 The most important thing about early test design is that it:
a) makes test preparation easier.
b) means inspections are not required.
c) can prevent fault multiplication.
d) will find all faults.

38 Which of the following statements about reviews is true?
a) Reviews cannot be performed on user requirements specifications.
b) Reviews are the least effective way of testing code.
c) Reviews are unlikely to find faults in test plans.
d) Reviews should be performed on specifications, code, and test plans.

39 Test cases are designed during:
a) test recording.
b) test planning.
c) test configuration.
d) test specification.

40 A configuration management system would NOT normally provide:
a) linkage of customer requirements to version numbers.
b) facilities to compare test results with expected results.
c) the precise differences in versions of software component source code.
d) restricted access to the source code library.

Download more exam papers with answers here

ISTQB Exam Question Paper, Part 5

ISTQB Exam Question Paper, Part 5

1 We split testing into distinct stages primarily because:
a) Each test stage has a different purpose.
b) It is easier to manage testing in stages.
c) We can run different tests in different environments.
d) The more stages we have, the better the testing.

2 Which of the following is likely to benefit most from the use of test tools providing test capture and replay facilities?
a) Regression testing
b) Integration testing
c) System testing
d) User acceptance testing

3 Which of the following statements is NOT correct?
a) A minimal test set that achieves 100% LCSAJ coverage will also achieve 100% branch coverage.
b) A minimal test set that achieves 100% path coverage will also achieve 100% statement coverage.
c) A minimal test set that achieves 100% path coverage will generally detect more faults than one that achieves 100% statement coverage.
d) A minimal test set that achieves 100% statement coverage will generally detect more faults than one that achieves 100% branch coverage.

4 Which of the following requirements is testable?
a) The system shall be user friendly.
b) The safety-critical parts of the system shall contain 0 faults.
c) The response time shall be less than one second for the specified design load.
d) The system shall be built to be portable.

5 Analyse the following highly simplified procedure:
Ask: “What type of ticket do you require, single or return?”
IF the customer wants ‘return’
Ask: “What rate, Standard or Cheap-day?”
IF the customer replies ‘Cheap-day’
Say: “That will be £11:20”
Say: “That will be £19:50”
Say: “That will be £9:75”
Now decide the minimum number of tests that are needed to ensure that all
the questions have been asked, all combinations have occurred and all
replies given.
a) 3
b) 4
c) 5d) 6
6 Error guessing:
a) supplements formal test design techniques.
b) can only be used in component, integration and system testing.
c) is only performed in user acceptance testing.
d) is not repeatable and should not be used.

7 Which of the following is NOT true of test coverage criteria?
a) Test coverage criteria can be measured in terms of items exercised by a test suite.
b) A measure of test coverage criteria is the percentage of user requirements covered.
c) A measure of test coverage criteria is the percentage of faults found.
d) Test coverage criteria are often used when specifying test completion criteria.

8 In prioritising what to test, the most important objective is to:
a) find as many faults as possible.
b) test high risk areas.
c) obtain good test coverage.
d) test whatever is easiest to test.
9 Given the following sets of test management terms (v-z), and activity descriptions (1-5), which one of the following best pairs the two sets?
v – test control
w – test monitoring
x - test estimation
y - incident management
z - configuration control

1 - calculation of required test resources
2 - maintenance of record of test results
3 - re-allocation of resources when tests overrun
4 - report on deviation from test plan
5 - tracking of anomalous test results

a) v-3,w-2,x-1,y-5,z-4
b) v-2,w-5,x-1,y-4,z-3
c) v-3,w-4,x-1,y-5,z-2
d) v-2,w-1,x-4,y-3,z-5

10 Which one of the following statements about system testing is NOT true?
a) System tests are often performed by independent teams.
b) Functional testing is used more than structural testing.
c) Faults found during system tests can be very expensive to fix.
d) End-users should be involved in system tests.

11 Which of the following is false?
a) Incidents should always be fixed.
b) An incident occurs when expected and actual results differ.
c) Incidents can be analysed to assist in test process improvement.
d) An incident can be raised against documentation.

12 Enough testing has been performed when:
a) time runs out.
b) the required level of confidence has been achieved.
c) no more faults are found.
d) the users won’t find any serious faults.

13 Which of the following is NOT true of incidents?
a) Incident resolution is the responsibility of the author of the software under test.
b) Incidents may be raised against user requirements.
c) Incidents require investigation and/or correction.
d) Incidents are raised when expected and actual results differ.

14 Which of the following is not described in a unit test standard?
a) syntax testing
b) equivalence partitioning
c) stress testing
d) modified condition/decision coverage

15 Which of the following is false?
a) In a system two different failures may have different severities.
b) A system is necessarily more reliable after debugging for the removal of a fault.
c) A fault need not affect the reliability of a system.
d) Undetected errors may lead to faults and eventually to incorrect behaviour.

16 Which one of the following statements, about capture-replay tools, is NOT correct?
a) They are used to support multi-user testing.
b) They are used to capture and animate user requirements.
c) They are the most frequently purchased types of CAST tool.
d) They capture aspects of user behaviour.

17 How would you estimate the amount of re-testing likely to be required?
a) Metrics from previous similar projects
b) Discussions with the development team
c) Time allocated for regression testing
d) a & b

18 Which of the following is true of the V-model?
a) It states that modules are tested against user requirements.
b) It only models the testing phase.
c) It specifies the test techniques to be used.
d) It includes the verification of designs.

19 The oracle assumption:
a) is that there is some existing system against which test output may be checked.
b) is that the tester can routinely identify the correct outcome of a test.
c) is that the tester knows everything about the software under test.
d) is that the tests are reviewed by experienced testers.

20 Which of the following characterises the cost of faults?
a) They are cheapest to find in the early development phases and the most expensive to fix in the latest test phases.
b) They are easiest to find during system testing but the most expensive to fix then.
c) Faults are cheapest to find in the early development phases but the most expensive to fix then.
d) Although faults are most expensive to find during early development phases, they are cheapest to fix then.

Download more exam papers with answers here

Tuesday, 6 August 2013

What is Manual Testing?

What is Manual Testing?

Manual QA Testing is carried out to identify defects in the test software pertaining to usability testing along with GUI testing area. It proves to be a highly effective form of IT testing since it detects a certain class of bugs successfully, which cannot be detected using test automation technique

Now the question arises when to use manual QA testing? Well, the answer to this question redirects us to certain instances listed below.

Let us take the case of installations and setups where loading of CD-ROMs and tapes is done by the tester. Also, it's needed in the instance of localization wherein the tester screens & decides if the translation is making some sense or not, whether it's appropriate or not etc.

Manual QA testing is also required in the case of error handling and recovery in which the tester needs to be involved in test execution thus highlighting again on the significance of manual testing. Besides the cases listed above, manual QA testing is also called for while reconfiguring systems, installing some new software, which require manual intervention. It's also much required to screen intricacies/errors associated with UI & workflows. Along with that, it's also used in documentation. However, it must not be conducted during the last phases of Software Development Life Cycle (SDLC).

It's time for us to jump on to the next sub-topic—how to use manual testing? Let us take a glance at the how manual testing method is used. The process is screened and assessed across all phases of SDLC. However, the execution can go on simultaneously with the normal manual testing process. While test cases are prepared and executed, the supervisory authorities can continue using the results of that process. The testing of interface is then done between the users and application system. However, there are a large number of factors that impact the efficacy of manual QA testing such as test case completion degree and in-depth documentation done.

Author: Adam George
Source: Link

Sunday, 4 August 2013

Automation Tools for Regression Testing

Automation Tools for Regression Testing

Once the application code changes it is carried out its re-testing which is also called regression testing. This is done to make sure that everything is working correctly and that the changes did not result in any new software bugs.

The destination of this type of testing is to verify that operating functions are not broken after the change of the code.
It is important to conduct regression testing as often as possible (for example, after new software build), so that code modifications that damaged how application works can be quickly identified and fixed.

As soon as there is something to test, then regression testing begins. Regression testing begins as soon as there is something to check at all. The regression test suite grows as the application moves ahead and test engineers add test cases that test new or rewritten code.  Soon the suite may extend to thousands of test cases that cover various application functions. Obviously there is a fact that a person cannot repeat all the tests and analyse their results. That is why at this moment automation regression tests are necessary.

When should we start regression testing?

At that moment, when a programmer fixes a software bug or adds a new code for new functionality of the system - at this point regression testing begins. It is a quality measure to check that new code complies with old code and unmodified code is not getting affected. Most of the time testing is used to check the recent changes in the system. In such situation testing only affected application area in necessary to complete the testing process in time with covering all major system aspects.

What do we include in regression testing?
  • Rerunning the previously conducted tests
  • Comparing current results with previously executed test results.

How much time is needed for regression testing?

This depends on the scope of new added feature. If the scope of the fix or feature is large then the application area getting affected is quite large and testing should be thoroughly including all the application test cases. But only if the tester receives input from the developer on the scope, number and nature of changes, only then it can be effectively.

Regression testing and changes in GUI

It is distressing to make graphical user interface regression testing when GUI structure is altered. The test cases written on old GUI either get archaic. Update of the regression testing test cases means GUI test cases are changed according to new GUI. But if you have many GUI test cases, then this job becomes unwieldy difficult.

Tools for automated regression testing

Automated regression testing is the testing area where we can automate most of the testing efforts. Expected results so automating these test cases are time-saving and efficient method for regression testing as well as manual testing takes too much time. The degree of automation depends on the number of tests that will remain applicable over time. If test cases are varying time to time as application scope goes on increasing then automation of regression procedure will be the waste of time.

The vast majority of regression testing tools are recording and playback type. As you can imagine, this means that you will write tests on AUT navigation and test results are expected or not.
Here are some examples of tools of regression testing:
  • Selenium
  • ActiWate
  • AdventNet QEngine
  • Regression Tester
  • Rational Functional Tester
  • SilkTest
  • WinRunner
  • QTP
  • VTest
  • Watir
Most of the tools used by both functional and as tools for regression testing.

Author: QATestLab
Source: Link

User Acceptance Testing (UAT) For Websites

User Acceptance Testing For Websites

The importance of user acceptance testing varies considerably. In some circumstances, it's founded a set of tests a program or Website must complete before delivery is acknowledged by the end personal.

A more complete way to UAT contains the end customers at every level of the development process, and for the demands of determining business and e-commerce websites, this is the importance that should be used

UAT is different from Quality assurance because it information issues that QA doesn't, like how easy and user-friendly a Website is to use rather than just the issue of whether the Website's significant features perform or not. It's possible to have a Website that goes all QA tests for basic functionality but is so challenging to use that it usually chases customers away. There are many Websites like this on the Online, and the earnings they cost organizations would probably secured the cost of adequate UAT several times over.

The objective so many professional Websites are unsuccessful on the issue of Quality is mainly due to information of the issue that professional Websites are usually designed by one people to be used by another people. In contrast to workers who have to use whatever technology their professionals choose to offer them with, customers usually have a option, and if one professional Website is too challenging to use, they'll go for an much easier to use oppositions Website nearly every time. The key to success is to create sure your organization Website is one of the easy to use ones. Unfortunately, this is easier said than done, but if you follow one of the traditional UAT techniques the objective is well within go to.

To start the UAT process, evaluate out some of the UAT Websites on the Web and acquire one of the UAT information templates that seem to fit your design's needs. Established with care. Most of the documentation available on UAT is focused at organizations developing up Websites for in house use. Therefore the UAT framework symbolizes that the end customers will have a brilliant concept of what they want, and that they will have the efficiency to communicate those needs clearly, and interacting with business circumstances. Companies developing Websites for use by customers, or other organizations, encounter an entirely different situation because it's challenging to involve customers in anything but one more items or assistance, or at best a try out of one more Website.

To get over this issue, one or more workers should be particular to indicate the end personal customers at every level of the development process. This will add to the development cost, but it will be well value it. The unique end customers particular to the project don't usually need to be greater paid workers, just those who are advisor of the end personal. Even earnings personal or employees will do for Websites promotion typical client items. For B2B Websites, relaxing program workers might be more appropriate.

Author: Angelina Peria
 Source: Link

ISTQB Exam Question Paper, Part 4

ISTQB Exam Question Paper, Part 4

11. An incident logging system

a only records defects
b is of limited value
c is a valuable source of project information during testing if it contains all incidents
d. should be used only by the test team.

12. Increasing the quality of the software, by better development methods, will affect the time needed for testing (the test phases) by:

a. reducing test time
b. no change
c. increasing test time
d. can’t say

13. Coverage measurement

a. is nothing to do with testing
b. is a partial measure of test thoroughness
c. branch coverage should be mandatory for all software
d. can only be applied at unit or module testing, not at system testing

14. When should you stop testing?

a. when time for testing has run out.
b. when all planned tests have been run
c. when the test completion criteria have been met
d. when no faults have been found by the tests run

15. Which of the following is true?

a. Component testing should be black box, system testing should be white box.
b. if u find a lot of bugs in testing, you should not be very confident about the quality of software
c. the fewer bugs you find, the better your testing was
d. the more tests you run, the more bugs you will find.

16. What is the important criterion in deciding what testing technique to use?

a. how well you know a particular technique
b. the objective of the test
c. how appropriate the technique is for testing the application
d. whether there is a tool to support the technique

17. If the pseudo code below were a programming language ,how many tests are required to achieve 100% statement coverage?

1. If x=3 then
2. Display_messageX;
3. If y=2 then
4. Display_messageY;
5. Else
6. Display_messageZ;
7. Else
8. Display_messageZ;

a. 1
b. 2
c. 3
d. 4

18. Using the same code example as question 17,how many tests are required to achieve 100% branch/decision coverage?

a. 1
b. 2
c. 3
d. 4

19 Which of the following is NOT a type of non-functional test?

a. State-Transition
b. Usability
c. Performance
d. Security

20. Which of the following tools would you use to detect a memory leak?

a. State analysis
b. Coverage analysis
c. Dynamic analysis
d. Memory analysis

21. Which of the following is NOT a standard related to testing?

a. IEEE829
b. IEEE610
c. BS7925-1
d. BS7925-2

22.which of the following is the component test standard?

a. IEEE 829
b. IEEE 610
c. BS7925-1
d. BS7925-2

23 which of the following statements are true?

a. Faults in program specifications are the most expensive to fix.
b. Faults in code are the most expensive to fix.
c. Faults in requirements are the most expensive to fix
d. Faults in designs are the most expensive to fix.

24. Which of the following is not the integration strategy?

a. Design based
b. Big-bang
c. Bottom-up
d. Top-down

25. Which of the following is a black box design technique?

a. statement testing
b. equivalence partitioning
c. error- guessing
d. usability testing

26. A program with high cyclometic complexity is almost likely to be:

a. Large
b. Small
c. Difficult to write
d. Difficult to test

27. Which of the following is a static test?

a. code inspection
b. coverage analysis
c. usability assessment
d. installation test

28. Which of the following is the odd one out?

a. white box
b. glass box
c. structural
d. functional

29. A program validates a numeric field as follows:

values less than 10 are rejected, values between 10 and 21 are accepted, values greater than or equal to 22 are rejected

which of the following input values cover all of the equivalence partitions?

a. 10,11,21
b. 3,20,21
c. 3,10,22
d. 10,21,22

30. Using the same specifications as question 29, which of the following covers the MOST boundary values?

a. 9,10,11,22
b. 9,10,21,22
c. 10,11,21,22
d. 10,11,20,21

Download more exam papers with answers here

ISTQB Exam Question Paper, Part 3

ISTQB Exam Question Paper, Part 3

1.Software testing activities should start

a. as soon as the code is written
b. during the design stage
c. when the requirements have been formally documented
d. as soon as possible in the development life cycle

2.Faults found by users are due to:

a. Poor quality software
b. Poor software and poor testing
c. bad luck
d. insufficient time for testing

3.What is the main reason for testing software before releasing it?

a. to show that system will work after release
b. to decide when the software is of sufficient quality to release
c. to find as many bugs as possible before release
d. to give information for a risk based decision about release

4. which of the following statements is not true

a. performance testing can be done during unit testing as well as during the testing of whole system
b. The acceptance test does not necessarily include a regression test
c. Verification activities should not involve testers (reviews, inspections etc.)
d. Test environments should be as similar to production environments as possible

5. When reporting faults found to developers, testers should be:

a. as polite, constructive and helpful as possible
b. firm about insisting that a bug is not a “feature” if it should be fixed
c. diplomatic, sensitive to the way they may react to criticism
d. All of the above

6.In which order should tests be run?

a. the most important tests first
b. the most difficult tests first(to allow maximum time for fixing)
c. the easiest tests first(to give initial confidence)
d. the order they are thought of

7. The later in the development life cycle a fault is discovered, the more expensive it is to fix. why?

a. the documentation is poor, so it takes longer to find out what the software is doing.
b. wages are rising
c. the fault has been built into more documentation, code, tests, etc.
d. none of the above

8. Which is not true-The black box tester

a. should be able to understand a functional specification or requirements document
b. should be able to understand the source code.
c. is highly motivated to find faults
d. is creative to find the system’s weaknesses

9. A test design technique is

a. a process for selecting test cases
b. a process for determining expected outputs
c. a way to measure the quality of software
d. a way to measure in a test plan what has to be done

10. Testware ( test cases, test dataset)

a. needs configuration management just like requirements, design and code
b. should be newly constructed for each new version of the software
c. is needed only until the software is released into production or use
d. does not need to be documented and commented, as it does not form part of the released
software system.

Download more exam papers with answers here

ISTQB Exam Question Paper, Part 2

ISTQB Exam Question Paper, Part 2

11 Consider the following statements
i. an incident may be closed without being fixed
ii. incidents may not be raised against documentation
iii. the final stage of incident tracking is fixing
iv. the incident record does not include information on test environments
v. incidents should be raised when someone other than the author of the software performs the test

a) ii and v are true, I, iii and iv are false
b) i and v are true, ii, iii and iv are false
c) i, iv and v are true, ii and iii are false
d) i and ii are true, iii, iv and v are false
e) i is true, ii, iii, iv and v are false

12 Given the following code, which is true about the minimum number of test cases required for full statement and branch coverage:
Read P
Read Q
IF P+Q > 100 THEN
Print “Large”
If P > 50 THEN
Print “P Large”

a) 1 test for statement coverage, 3 for branch coverage
b) 1 test for statement coverage, 2 for branch coverage
c) 1 test for statement coverage, 1 for branch coverage
d) 2 tests for statement coverage, 3 for branch coverage
e) 2 tests for statement coverage, 2 for branch coverage

13 Given the following:
Switch PC on
Start “outlook”
IF outlook appears THEN
Send an email
Close outlook

a) 1 test for statement coverage, 1 for branch coverage
b) 1 test for statement coverage, 2 for branch coverage
c) 1 test for statement coverage. 3 for branch coverage
d) 2 tests for statement coverage, 2 for branch coverage
e) 2 tests for statement coverage, 3 for branch coverage

14 Given the following code, which is true:
C = A – B
C = A + B
Read D
IF C = D Then
Print “Error”

a) 1 test for statement coverage, 3 for branch coverage
b) 2 tests for statement coverage, 2 for branch coverage
c) 2 tests for statement coverage. 3 for branch coverage
d) 3 tests for statement coverage, 3 for branch coverage
e) 3 tests for statement coverage, 2 for branch coverage

15 Consider the following:
Pick up and read the newspaper
Look at what is on television
If there is a program that you are interested in watching then switch the the television on and watch the program
Continue reading the newspaper
If there is a crossword in the newspaper then try and complete the crossword

a) SC = 1 and DC = 1
b) SC = 1 and DC = 2
c) SC = 1 and DC = 3
d) SC = 2 and DC = 2
e) SC = 2 and DC = 3

16 The place to start if you want a (new) test tool is:
a) Attend a tool exhibition
b) Invite a vendor to give a demo
c) Analyse your needs and requirements
d) Find out what your budget would be for the tool
e) Search the internet

17 When a new testing tool is purchased, it should be used first by:
a) A small team to establish the best way to use the tool
b) Everyone who may eventually have some use for the tool
c) The independent testing team
d) The managers to see what projects it should be used in
e) The vendor contractor to write the initial scripts

18 What can static analysis NOT find?
a) The use of a variable before it has been defined
b) Unreachable (“dead”) code
c) Whether the value stored in a variable is correct
d) The re-definition of a variable before it has been used
e) Array bound violations

19 Which of the following is NOT a black box technique:
a) Equivalence partitioning
b) State transition testing
d) Syntax testing
e) Boundary value analysis

20 Beta testing is:
a) Performed by customers at their own site
b) Performed by customers at their software developer’s site
c) Performed by an independent test team
d) Useful to test bespoke software
e) Performed as early as possible in the lifecycle

21 Given the following types of tool, which tools would typically be used by developers and which by an independent test team:
i. static analysis
ii. performance testing
iii. test management
iv. dynamic analysis
v. test running
vi. test data preparation

a) developers would typically use i, iv and vi; test team ii, iii and v
b) developers would typically use i and iv; test team ii, iii, v and vi
c) developers would typically use i, ii, iii and iv; test team v and vi
d) developers would typically use ii, iv and vi; test team I, ii and v
e) developers would typically use i, iii, iv and v; test team ii and vi

22 The main focus of acceptance testing is:
a) finding faults in the system
b) ensuring that the system is acceptable to all users
c) testing the system with other systems
d) testing for a business perspective
e) testing by an independent test team

23 Which of the following statements about the component testing standard is false:
a) black box design techniques all have an associated measurement technique
b) white box design techniques all have an associated measurement technique
c) cyclomatic complexity is not a test measurement technique
d) black box measurement techniques all have an associated test design technique
e) white box measurement techniques all have an associated test design technique

24 Which of the following statements is NOT true:
a) inspection is the most formal review process
b) inspections should be led by a trained leader
c) managers can perform inspections on management documents
d) inspection is appropriate even when there are no written documents
e) inspection compares documents with predecessor (source) documents

25 A typical commercial test execution tool would be able to perform all of the following EXCEPT:
a) generating expected outputs
b) replaying inputs according to a programmed script
c) comparison of expected outcomes with actual outcomes
d) recording test inputs
e) reading test values from a data file

26 The difference between re-testing and regression testing is
a) re-testing is running a test again; regression testing looks for unexpected side effects
b) re-testing looks for unexpected side effects; regression testing is repeating those tests
c) re-testing is done after faults are fixed; regression testing is done earlier
d) re-testing uses different environments, regression testing uses the same environment
e) re-testing is done by developers, regression testing is done by independent testers

27 Expected results are:
a) only important in system testing
b) only used in component testing
c) never specified in advance
d) most useful when specified in advance
e) derived from the code

28 Test managers should not:
a) report on deviations from the project plan
b) sign the system off for release
c) re-allocate resource to meet original plans
d) raise incidents on faults that they have found
e) provide information for risk analysis and quality improvement

29 Unreachable code would best be found using:
a) code reviews
b) code inspections
c) a coverage tool
d) a test management tool
e) a static analysis tool

30 A tool that supports traceability, recording of incidents or scheduling of tests is called:
a) a dynamic analysis tool
b) a test execution tool
c) a debugging tool
d) a test management tool
e) a configuration management tool

31 What information need not be included in a test incident report:
a) how to fix the fault
b) how to reproduce the fault
c) test environment details
d) severity, priority
e) the actual and expected outcomes

32 Which expression best matches the following characteristics or review processes:
1. led by author
2. undocumented
3. no management participation
4. led by a trained moderator or leader
5. uses entry exit criteria

s) inspection
t) peer review
u) informal review
v) walkthrough

a) s = 4, t = 3, u = 2 and 5, v = 1
b) s = 4 and 5, t = 3, u = 2, v = 1
c) s = 1 and 5, t = 3, u = 2, v = 4
d) s = 5, t = 4, u = 3, v = 1 and 2
e) s = 4 and 5, t = 1, u = 2, v = 3

33 Which of the following is NOT part of system testing:
a) business process-based testing
b) performance, load and stress testing
c) requirements-based testing
d) usability testing
e) top-down integration testing

34 What statement about expected outcomes is FALSE:
a) expected outcomes are defined by the software’s behaviour
b) expected outcomes are derived from a specification, not from the code
c) expected outcomes include outputs to a screen and changes to files and databases
d) expected outcomes should be predicted before a test is run
e) expected outcomes may include timing constraints such as response times

35 The standard that gives definitions of testing terms is:
a) ISO/IEC 12207
b) BS7925-1
c) BS7925-2
d) ANSI/IEEE 829
e) ANSI/IEEE 729

36 The cost of fixing a fault:
a) Is not important
b) Increases as we move the product towards live use
c) Decreases as we move the product towards live use
d) Is more expensive if found in requirements than functional design
e) Can never be determined

37 Which of the following is NOT included in the Test Plan document of the Test Documentation Standard:
a) Test items (i.e. software versions)
b) What is not to be tested
c) Test environments
d) Quality plans
e) Schedules and deadlines

38 Could reviews or inspections be considered part of testing:
a) No, because they apply to development documentation
b) No, because they are normally applied before testing
c) No, because they do not apply to the test documentation
d) Yes, because both help detect faults and improve quality
e) Yes, because testing includes all non-constructive activities

39 Which of the following is not part of performance testing:
a) Measuring response time
b) Measuring transaction rates
c) Recovery testing
d) Simulating many users
e) Generating many transactions

40 Error guessing is best used
a) As the first approach to deriving test cases
b) After more formal techniques have been applied
c) By inexperienced testers
d) After the system has gone live
e) Only by end users

Download more exam papers with answers here

ISTQB Exam Question Paper, Part 1

ISTQB Exam Question Paper, Part 1

1 When what is visible to end-users is a deviation from the specific or expected behaviour, this is called:
a) an error
b) a fault
c) a failure
d) a defect
e) a mistake

2 Regression testing should be performed:
v) every week
w) after the software has changed
x) as often as possible
y) when the environment has changed
z) when the project manager says

a) v & w are true, x – z are false
b) w, x & y are true, v & z are false
c) w & y are true, v, x & z are false
d) w is true, v, x y and z are false
e) all of the above are true

3 IEEE 829 test plan documentation standard contains all of the following except:
a) test items
b) test deliverables
c) test tasks
d) test environment
e) test specification

4 Testing should be stopped when:
a) all the planned tests have been run
b) time has run out
c) all faults have been fixed correctly
d) both a) and c)
e) it depends on the risks for the system being tested

5 Order numbers on a stock control system can range between 10000 and 99999 inclusive. Which of the following inputs might be a result of designing tests for only valid equivalence classes and valid boundaries:
a) 1000, 5000, 99999
b) 9999, 50000, 100000
c) 10000, 50000, 99999
d) 10000, 99999
e) 9999, 10000, 50000, 99999, 10000

6 Consider the following statements about early test design:
i. early test design can prevent fault multiplication
ii. faults found during early test design are more expensive to fix
iii. early test design can find faults
iv. early test design can cause changes to the requirements
v. early test design takes more effort

a) i, iii & iv are true. Ii & v are false
b) iii is true, I, ii, iv & v are false
c) iii & iv are true. i, ii & v are false
d) i, iii, iv & v are true, ii us false
e) i & iii are true, ii, iv & v are false

7 Non-functional system testing includes:
a) testing to see where the system does not function properly
b) testing quality attributes of the system including performance and usability
c) testing a system feature using only the software required for that action
d) testing a system feature using only the software required for that function
e) testing for functions that should not exist

8 Which of the following is NOT part of configuration management:
a) status accounting of configuration items
b) auditing conformance to ISO9001
c) identification of test versions
d) record of changes to documentation over time
e) controlled library access

9 Which of the following is the main purpose of the integration strategy for integration testing in the small?
a) to ensure that all of the small modules are tested adequately
b) to ensure that the system interfaces to other systems and networks
c) to specify which modules to combine when and how many at once
d) to ensure that the integration testing can be performed by a small team
e) to specify how the software should be divided into modules

10 What is the purpose of test completion criteria in a test plan:
a) to know when a specific test has finished its execution
b) to ensure that the test case specification is complete
c) to set the criteria used in generating test inputs
d) to know when test planning is complete
e) to plan when to stop testing

Download more exam papers with answers here