Entries Tagged 'Testing Tips and resources' ↓

Tips to design test data before executing your test cases

I have mentioned importance of proper test data in many of my previous articles. Tester should check and update the test data before execution of any test case. In this article I will provide tips on how to prepare test environment so that any important test case will not be missed by improper test data and incomplete test environment setup.

What do I mean by test data?

If you are writing test case then you need input data for any kind of test. Tester may provide this input data at the time of executing the test cases or application may pick the required input data from the predefined data locations. The test data may be any kind of input to application, any kind of file that is loaded by the application or entries read from the database tables. It may be in any format like xml test data, system test data, SQL test data or stress test data.

Continue reading →

Web Terminologies: Useful for web application testers

This article will help you to learn basic web terminologies. While testing web applications it’s very necessary to know all web technologies. This will increase the test coverage and also the capabilities of web application tester.

This web terminology article is compiled by Meenakshi M. She is working as a Test Engineer and having 3+yrs of experience in Manual and Automation (QTP) testing.

This article basically covers following terminologies:

What is: Internet, www, TCP/IP, HTTP protocol, SSL (Secure socket layer), HTTPS, HTML, Web servers, Web client, Proxy server, Caching, Cookies, Application server, Thin client, Thick client, Daemon, Client side scripting, Server side scripting, CGI, Dynamic web pages, Digital certificates and list of HTTP status codes.

You can download this article on following link:
Web terminologies: Useful for web testers

You can also visit our “Software testing resources” page for other downloadable resources.

We have also updated our “Job section page” with some latest job openings in testing:

To get all latest QA article notification in your inbox register via email.

CSTE software testing certification exam question pattern

This article will give you general idea about CSTE certification exam paper pattern. I have included some sample questions and answers for the CSTE mock test paper. You can refer these questions and can judge the pattern of descriptive answer paper. If you need objective type questions from CSTE paper you can refer our previous article on CSTE objective type question answers . Also you can download some more sample papers from our ‘Downloads’ section.

CSTE mock test paper – Questions and Answers:

1. Define the following along with examples [25 Marks]
a. Boundary Value testing
b. Equivalence testing
c. Error Guessing
d. Desk checking
e. Control Flow analysis

Answer:
a) Boundary value Analysis: – A process of selecting test cases/data by identifying the boundaries that separate valid and invalid conditions. Tests are constructed to test the inside and outside edges of these boundaries, in addition to the actual boundary points. or A selection technique in which test data are chosen to lie along “boundaries” of the input domain [or output range] classes, data structures, procedure parameters, etc. Choices often include maximum, minimum, and trivial values or parameters.

E.g. – Input data 1 to 10 (boundary value)
Test input data 0, 1, 2 to 9, 10, 11

b) Equivalence testing: – The input domain of the system is partitioned into classes of representative values, so that the no of test cases can be limited to one-per-class, which represents the minimum no. of test cases that must be executed.

E.g.- valid data range: 1-10
Test set:-2; 5; 14

c) Error guessing: – Test data selection technique. The selection criterion is to pick values that seem likely to cause errors Error guessing is based mostly upon experience, with some assistance from other techniques such as boundary value analysis. Based on experience, the test designer guesses the types of errors that could occur in a particular type of software and designs test cases to uncover them.

E.g. – For example, if any type of resource is allocated dynamically, a good place to look for errors is in the de-allocation of resources. Are all resources correctly deallocated, or are some lost as the software executes?

d) Desk checking: – Desk checking is conducted by the developer of the system or program. The process involves reviewing the complete product to ensure that it is structurally sound and that the standards and requirements have been met. This is the most traditional means for analyzing a system or program.

e) Control Flow Analysis: – It is based upon graphical representation of the program process. In control flow analysis; the program graphs has nodes which represent a statement or segment possibly ending in an unresolved branch. The graph illustrates the flow of program control from one segment to another as illustrated through branches .the objective of control flow analysis is to determine the potential problems in logic branches that might result in a loop condition or improper processing.

2. You find that there is a senior tester who is making more mistakes than the junior testers. You need to communicate this aspect to the senior tester. Also, you don’t want to loose this tester. How should one go about the constructive criticism? [10 Marks]

Answer:
In the quality approach, it is the responsibility of the supervisor to make His/Her subordinates successful. The effective use of criticism is a tool for improving subordinate performance.

In giving constructive criticism, you should incorporate the following tactics: -

  • Do it privately.
  • Have the facts.
  • Be prepared to help the worker improve His/Her performance.
  • Be specific on Expectations.
  • Follow a specific process in giving the criticism.

3. Your manager has taken you onboard as a test lead for testing a web-based application. He wants to know what risks you would include in the Test plan. Explain each risk factor that would be a part of your test plan. [20 marks]

Answer:
Web-Based Application primary risk factors:-

A) Security: anything related to the security of the application.
B) Performance:- The amount of computing resources and code required by the system to perform its stated functions.
C) Correctness:-Data entered, processed, and outputted in the system is accurate and complete
D) Access Control:-Assurance that the application system resources will be protected
E) Continuity of processing:-The ability to sustain processing in the event problem occurs
F) Audit Trail:-The capability to substantiate the processing that has occurred.
G) Authorization:-Assurance that the data is processed in accordance with the intents of the management.

General risk or secondary risk’s:-

A) Complex – anything disproportionately large, intricate or convoluted.
B) New – anything that has no history in the product.
C) Changed – anything that has been tampered with or “improved”.
D) Upstream Dependency – anything whose failure will cause cascading failure in the rest of the system.
E) Downstream Dependency – anything that is especially sensitive to failures in the rest of the system.
F) Critical – anything whose failure could cause substantial damage.
G) Precise – anything that must meet its requirements exactly.
H) Popular – anything that will be used a lot.
I) Strategic – anything that has special importance to your business, such as a feature that sets you apart from the competition.
J) Third-party – anything used in the product, but developed outside the project.
K) Distributed – anything spread out in time or space, yet whose elements must work together.
l) Buggy – anything known to have a lot of problems.
M) Recent Failure – anything with a recent history of failure.

4. You are in the contract stage of a project and are developing a comprehensive proposal for a safety critical software system. Your director has consulted you for preparing a guideline document what will enlist user’s role during acceptance testing phase. Indicate the key roles you feel that the user should play during acceptance stage. Also indicate the categories into which the acceptance requirements should fall. [10 Marks]

Answer:
1) Ensure user involvement in developing systems requirement and acceptance criteria.
2) Identify interim and final products for acceptance their acceptance criteria and schedule.
3) Plan how and by whom each acceptance activity will be performed.
4) Plan resources for providing information.
5) Schedule adequate time for buyer staff to receive and examine the products and evaluation prior to acceptance review.
6) Prepare the acceptance plan.
7) Respond to the analysis of project entitles before accepting and rejecting.
8 ) Approve the various interim software products.
9) Perform the final acceptance activities, including the formal acceptance testing at delivery.
10) Make an acceptance decision for each product.

5. What is parallel testing and when do we use parallel testing? Explain with
example?
[5 marks]

Answer:
Testing a new or an altered data processing system with the same source data that is used in another system. The other system is considered as the standard of comparison. OR we can say that parallel testing requires the same input data be run through two versions of the same application.
Parallel testing should be used when there is uncertainty regarding the correctness of processing of the new application. And old and new versions of the applications are same.
E.g.-
1) Operate the old and new version of the payroll system to determine that the paychecks from both systems are reconcilable.
2) Run the old version of the application system to ensure that the operational status of the old system has been maintained in the event that problems are encountered in the new application.

6. What is the difference between testing Techniques and tools? Give examples. [5 marks]

Answer:
Testing technique: – Is a process for ensuring that some aspects of the application system or unit functions properly there may be few techniques but many tools.

Tools: – Is a vehicle for performing a test process. The tool is a resource to the tester, but itself is insufficient to conduct testing

E.g.:- The swinging of hammer to drive the nail. The hammer is a tool, and swinging the hammer is a technique. The concept of tools and technique is important in the testing process. It is a combination of the two that enables the test process to be performed. The tester should first understand the testing techniques and then understand the tools that can be used with each of the technique.

7. Quality control activities are focused on identifying defects in the actual products produced; however your boss wants you to identify and define processes that would prevent defects. How would you explain to him to distinguish between QA and QC responsibilities? [10 Marks]

Answer:

Quality Assurance:
1) A planned and systematic set of activities necessary to provide adequate confidence that requirements are properly established and products or services conform to specified requirements
2) An activity that establishes and evaluates the processes to produce the products.
3) Helps establish processes.
4) Sets up measurements programs to evaluate processes.
5) Identifies weaknesses in processes and improves them.
6) QA is the responsibility of the entire team.
7) Prevents the introduction of issues or defects

Quality Control:
1) The process by which product quality is compared with applicable standards; and the action taken when nonconformance is detected.
2) An activity which verifies if the product meets pre-defined standards.
3) Implements the process.
4) Verifies if specific attribute(s) are in a specific product or service
5) Identifies defects for the primary purpose of correcting defects.
6) QC is the responsibility of the tester.
7) Detects, reports and corrects defects

8 ) Differentiate between Transaction flow modeling, Finite state modeling, Data flow modeling and Timing modeling? [10 Marks]

Answer:
Transaction Flow modeling: -The nodes represent the steps in transactions. The links
represent the logical connection between steps.

Finite state modeling:-The nodes represent the different user observable states of the software. The links represent the transitions that occur to move from state to state.

Data flow modeling:-The nodes represent the data objects. The links represent the transformations that occur to translate one data object to another.

Timing Modeling:-The nodes are Program Objects. The links are sequential connections between the program objects. The link weights are used to specify the required execution times as program executes.

9) List what you think are the two primary goals of testing
[5 Marks]

Answer:
1) Determine whether the system meets specifications (producer view)
2) determine whether the system meets business and user needs (Customer view)

Some Interesting software testing resources

To keep our readers updated on software testing events and activities, I will compile a weekly list of the online resources found. No doubt these resources are quality resources on software testing and you will get insight of software testing industry.

Microsoft last week launched software testing website – Microsoft tester center. James Whittaker Security Architect, Microsoft said “The goal of launching tester center is to provide community of software testers to share knowledge and learn from each other about software testing, day to day job work, testing tools and processes”.

Software testers and developers can view video’s, technical articles. You can interact technical experts from Microsoft via blog’s and discussion forums.

I am always interested reading the expert views on software testing from Microsoft employees. Michael Hunter’s interview series with software testing experts is also a good resource for testers. Interview of Anu Arora – a test manager from Microsoft’s engineering excellence group is the best of this series.

One interesting question I like from this interview is:

Q. What do you think is the most important thing for a tester to know? To do? For developers to know and do about testing?
Anu Arora: Testers need to understand that testing is not just a lot of automation. Testers also need to understand that it is not the other extreme banging the keyboard.

Testing is a highly skilled and sophisticated discipline and testers are the last line of defense for the customer. For the same reasons, the testers need to continually learn and grow; learn new ways to test, learn about the customer and market, learn to be always on the cutting edge of testing.

Developers need to understand that testers are not babysitters. Developers need to be responsible for their own code. Developers need to ensure what they write, works. In the testing language it is called unit testing. As a Test manager, I have been asked once in a while by the few ignorant ones; that if developers did all that, what will testers do? Testers can them move beyond unit testing to focus on integration, systems, scenario and user testing. These are absolutely critical from the customer point of view the one whom we are building this product for.

Regression Testing with Regression Testing Tools and methods

What is Regression Software Testing?
Regression means retesting the unchanged parts of the application. Test cases are re-executed in order to check whether previous functionality of application is working fine and new changes have not introduced any new bugs.

This is the method of verification. Verifying that the bugs are fixed and the newly added feature have not created in problem in previous working version of software.

Why regression Testing?
Regression testing is initiated when programmer fix any bug or add new code for new functionality to the system. 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 team has task to check the last minute 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.

How much 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 this can be effectively decided when tester gets input from developer about the scope, nature and amount of change.

What we do in regression testing?

  • Rerunning the previously conducted tests
  • Comparing current results with previously executed test results.

Regression Testing Tools:
Automated Regression testing is the testing area where we can automate most of the testing efforts. We run all the previously executed test cases this means we have test case set available and running these test cases manually is time consuming. We know the expected results so automating these test cases is time saving and efficient regression testing method. Extent of automation depends on the number of test cases that are going to remain applicable over the 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.

Most of the regression testing tools are record and playback type. Means you will record the test cases by navigating through the AUT and verify whether expected results are coming or not.
Example regression testing tools are:

Most of the tools are both Functional as well as regression testing tools.

Regression Testing Of GUI application:
It is difficult to perform GUI(Graphical User Interface) regression testing when GUI structure is modified. The test cases written on old GUI either becomes obsolete or need to reuse. Reusing the regression testing test cases means GUI test cases are modified according to new GUI. But this task becomes cumbersome if you have large set of GUI test cases.

How to apply for Software Testing Certification exam?

I have previously written some posts on Software testing certifications.  Many readers don’t know how to apply and prepare for these Testing and QA certifications. I will briefly guide here about the certifications available and the locations where you can give the exams.

Certifications In software Testing some history:

In 1980 Quality Assurance Institute (QAI) established a association to represent Quality Assurance professionals. Currently many beginners and advanced level certifications are offered by QAI. Certifications like CSQA (Certified Software Quality Analyst), CSTE (Certified Software Test Engineer), CSPM (Certified Software Project Manager) and Some Advanced level certifications like CMST (Certified Manager of Software Testing), CMSQ (Certified Manager of Software Quality).

Normally people having these certifications are recognized as proficient in Quality Assurance. (As what they believe ;-) )  But there is definitely a plus when it’s comes to your promotion. Other advantage of having certification what I feel is you will brush up the testing knowledge and methodologies while preparing for exam.

There are some prerequisite you should meet before applying for these software Testing certifications. These depends on the certification you are applying for plus some common prerequisites like:

  •  4 years degree from reputed college + 2 years of IT experience OR
  •  3 years degree + 3 years UT experience OR
  •  2 years degree + 4 years IT experience OR
  •  6 years IT experience OR

AND  Should be worked in IT field for the last 18 months.

To apply for the certification fill out the form available at Testing certification application form. Please check which certification you want to pursue and then fill the form accordingly.

Please note that the application fee for any fresh certification is US $350 in which you can also get the exam guide CD. You must mail or fax the above filled application form to the appropriate address provided in the application form with your fees payment.

Note that these certifications exams are conducted in the location of your choice. Your application is first reviewed by QAI board and on approval further notes are sent to the local exam centers approved by QAI.  You can check the current year schedule and locations of testing certification here.

For example if you want to give software testing certification exam in India, Pune center (MIT college) you must fill the application form before 15th October 2007 and can give the exam on 15th December 2007.  Total 2 retakes are allowed for any certification. If you still not cleared the exam then forget about the testing certifications and even Testing.

More guide on available certifications and filling the form can be found here.