Skip to main content

Software Testing..........................

Anurag
Question 2 – If there are many bugs to be fixed, which should you resolve first?
Fix the highest-priority bugs first. The severity of a software defect may not correlate directly with the priority placed on fixing it. Severity and priority should be tracked separately, although in a small organization or on a small project, there may not be a large number of defects and you will not need to track both.
It may also be helpful to track the “urgency” of a bug fix (as determined by the client).
In larger projects, you may have a Triage team.
Triage is a medical term; it is the assessment of which patients need to be dealt with first. Some patients will die regardless of what you do; some patients will heal by themselves. The third group, the patients that will only heal with your help, are the highest-priority patients. You can assign software defects to a similar type of “triage” list, based on the defects’ priority and severity.

Question 3 – What’s the difference between re-testing and regression testing?

Regression testing is the process of testing new bug fixes to ensure that they don’t cause problems to occur involving problems fixed earlier. This process involves running a suite of tests.
Re-testing is the process of testing a single defect that was just fixed. Only one test is performed, and the goal is to make sure that the defect that was just fixed was, in fact, fixed properly.

Question 4 – What are the flaws in waterfall model and how to overcome it?

The major drawback that you do not test the application logic until very late in the development cycle. Although a very detailed system specification should result in a less error-prone application, a single serious error spotted late in the development cycle may be very expensive to fix. Also, the waterfall model does not adapt well to rapidly changing technology.

Question 5 – What is the difference between Functional Testing and System Testing?

Functionality testing is based on functional requirements of the application. By contrast, system testing is end-to-end testing that covers all of an application’s functionality including usability, security and performance.
Functional testing is a subset of system testing.

Question 7 – What are the pre-requisites for white-box testing?

They are the same as for black-box testing, with one major exception: during white-box testing, the testers have access to the application logic. The tester should ask for access to detailed functional specs and requirements, design documents (both high-level and detailed), and source code. The tester analyzes the source code and prepares functional tests to ensure that the application behaves in compliance with both the requirements and the specs.

Question: 8  If a customer wants a new feature to be added, how would you go about adding that?
First of all it should be checked that addition of teh new feature should not make any of the other features non functional. If it is technically feasible to add the new feature then only the team should start thinking further in that direction. If not a work around could be thought of for that feature.

The existing SRS shold be modified and thereby the FDS (Functional design Specn) and IDS (Internal esign Spec) should be updated. Then finally the implementation of the feature should happen.


If a customer wants a new feature or functionality added to the present application then, firstly it is analyzed if its feasible to us to include the requested feature.In case its acceptable then, the functional consultant can raise a Change request
http://konac.kontera.com/javascript/lib/imgs/grey_loader.gif
(CR).Based on the CR developer updates the code and simultaneously Functional test cases are also enhanced.
Then later once the code is freezed and the built is ready this new feature can be tested with the help of the newly updated FTCs.

Question: 9 What is quality assurance?

The set of support activities (including facilitation, training, measurement and analysis) needed to provide adequate confidence that processes are established and continuously improved in order to produce products that meet specifications and fit for use.
Question: 10 What is software bug? 
A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's source code or its design, and a few are caused by compilers producing incorrect code. A program that contains a large number of bugs, and/or bugs that seriously interfere with its functionality, is said to be buggy. Reports detailing bugs in a program are commonly known as bug reports, fault reports, problem reports, trouble reports, change requests, and so forth.
Question: 11 What is software error?
Error resulting from bad code in some program involved in producing the erroneous result
computer science, computing - the branch of engineering science that studies (with the aid of computers) computable processes and structures
computer error, error - (computer science) the occurrence of an incorrect result produced by a computer
run-time error, runtime error, semantic error - an error in logic or arithmetic that must be detected at run time
syntax error - an error of language resulting from code that does not conform to the syntax of the programming language; "syntax errors can be recognized at compilation time"; "a common syntax error is to omit a parenthesis"

Question: 12 What is Difference between defect,error,bug,failure and fault?
Error : A discrepancy between a computed, observed, or measured value or condition and the true, specified, or theoretically correct value or condition.

Failure: The inability of a system or component to perform its required functions within specified performance requirements.

Bug: A fault in a program which causes the program to perform in an unintended or unanticipated manner.

Fault: An incorrect step, process, or data definition in a computer program which causes the program to perform in an unintended or unanticipated manner.

Defect: Mismatch between the requirements.

Question: 12What is the purpose of the testing?

Testing provides information whether or not a certain product meets the requirements. 

Question: 13What is the difference between QA and testing?

Quality Assurance is that set of activities that are carried out to set standards and to monitor and improve performance so that the care provided is as effective and as safe as possible. Testing provides information whether or not a certain product meets the requirements.  It also provides information where the product fails to meet the requirements.
Question: 14 What is the value of a testing group? How do you justify your work and budget?
All software products contain defects/bugs, despite the best efforts of their development teams.  It is important for an outside party (one who is not developer) to test the product from a viewpoint that is more objective and representative of the product user.

Testing group test the software from the requirements point of view or what is required by the user.  Testers job is to examine a program and see if it does not do what it is supposed to do and also see what it does what it is not supposed to do.


Question: 15 What is White box testing/unit testing?
Unit testing - The most 'micro' scale of testing; to test particular functions or code modules. Typically done by the programmer and not by testers, as it requires detailed knowledge of the internal program design and code. Not always easily done unless the application has a well-designed architecture with tight code; may require developing test driver modules or test harnesses.

Question: 16  Difference between Black and White box testing?
Black box testing: Functional testing based on requirements with no knowledge of the internal program structure or data. Also known as closed-box testing.
White Box testing: Testing approaches that examine the program structure and device test data from the program logic.

Question: 17 What is Black box testing?
Black Box testing is also called system testing which is performed by the testers. Here the features and requirements of the product as described in the requirement document are tested.

Question: 18 What is Integration testing?
Integration testing - Testing of combined parts of an application to determine if they function together correctly. The 'parts' can be code modules, individual applications, client and server applications on a network, etc. This type of testing is especially relevant to client/server and distributed systems.

Question: 19 What knowledge you require to do white box, integration and black box testing?
For white box testing you need to understand the internals of the module like data structures and algorithms and have access to the source code and for black box testing only understanding/functionality of the application.

Question: 20 What is Regression testing?
Regression testing: Re-testing after fixes or modifications of the software or its environment. It can be difficult to determine how much re-testing is needed, especially near the end of the development cycle. Automated testing tools can be especially useful for this type of testing..

Question: 21 Why do we do regression testing?
In any application new functionalities can be added so the application has to be tested to see whether the added functionalities have affected the existing functionalities or not. Here instead of retesting all the existing functionalities baseline scripts created for these can be rerun and tested.

Question: 22  How do we regression testing?
Various automation-testing tools can be used to perform regression testing like WinRunner, Rational Robot and Silk Test.

Question: 23 What are positive scenarios?
Testing to see whether the application is doing what it is supposed to do.
Question: 24 What are negative scenarios?
Testing to see whether the application is not doing what it is not suppose to do.
 Question: 25 What is the difference between regression automation tool and performance automation tool?
Regression testing tools capture test and play them back at a later time. The capture and playback feature is fundamental to regression testing.
Performance testing tool determine the load a server can handle. And must have feature to stimulate many users from one machine, scheduling and synchronize different users, able to measure the network load under different number of simulated users.

Question: 26 What is the difference between exception and validation testing?
Validation testing aims to demonstrate that the software functions in a manner that can be reasonably expected by the customer. Testing the software in conformance to the Software Requirements Specifications.
Exception testing deals with handling the exceptions (unexpected events) while the AUT is run. Basically this testing involves how to change the control flow of the AUT when an exception arises.

 Question: 27 What is user acceptance testing?
It is also called as Beta Testing. Once System Testing is done and the system seems stable to the developers and testers, system engineers usually invite the end users of the software to see if they like the software.  If the users like the software the way it is then software will be delivered to the user. Otherwise necessary changes will be made to the software and software will pass through all phases of testing again.
 
Question: 28 What is manual testing and what is automated testing?
Manual testing involves testing of software application by manually performing the actions on the AUT based on test plans.
Automated testing involves testing of a software application by performing the actions on the AUT by using automated testing tool (such as Quick Test Professional, WinRunner, LoadRunner, Rational Root) based on test plans
Question: 29 What is Smoke testing?
The smoke test must evolve as the system evolves. At first, the smoke test will probably test something simple, such as whether the system can say, "Hello, World." As the system develops, the smoke test will become more thorough. The first test might take a matter of seconds to run; as the system grows, the smoke test can grow to 30 minutes, an hour, or more.
Question: 30 What is stress testing, performance testing, Security testing, Recovery testing and volume testing.
Stress testing: Testing the system if it can handle peak usage period loads that result from large number of simultaneous users, transactions or devices. Monitoring should be performed for throughput and system stability.

Performance Testing: Testing the system whether the system functions are being performed in an acceptable timeframe under simultaneous user load. Timings  for both read and update transactions should be gathered to determine whether.  This should be done stand-alone and then in a multi-user environment to determine the transaction throughput.

Security Testing: Testing the system for its security from unauthorized use and unauthorized data access.

Recovery Testing: Testing a system to see how it responds to errors and abnormal conditions, such as system crash, loss of device, communications, or power.

Volume Testing: Testing to the system to determine if it can correctly process large volumes of data fed to the system. Systems can often respond unpredictably when large volume causes files to overflow and need extensions.

Question: 31 What is MR? Why you write MR?

MR is a Modification Request also known as Defect Report, a request to modify the program so that program does what it is supposed to do.

MR is written for reporting problems/errors or suggestions in the software.

Question: 32 You find a bug and the developer says “It’s not possible” what do u do?

I’ll discuss with him under what conditions (working environment) the bug was produced. I’ll provide him with more details and the snapshot of the bug.

Question: 33 How do you help developer to track the fault s in the software?

By providing him with details of the defects which include the environment, test data, steps followed etc… and  helping him to reproduce the defect in his environment.

Question: 34 What is a successful product?
A bug free product, meeting the expectations of the user would make the product successful.

Question: 35 What is good code?
These are some important qualities of good code
Cleanliness: Clean code is easy to read; this lets people read it with minimum effort so that they can understand it easily.
Consistency: Consistent code makes it easy for people to understand how a program works; when reading consistent code; one subconsciously forms a number of assumptions and expectations about how the code works, so it is easier and safer to make modifications to it.
Extensibility: General-purpose code is easier to reuse and modify than very specific code with lots of hard coded assumptions. When someone wants to add a new feature to a program, it will obviously be easier to do so if the code was designed to be extensible from the beginning.
Correctness: Finally, code that is designed to be correct lets people spend less time worrying about bugs and more time enhancing the features of a program.
Question: 36 When should testing be stopped?

This can be difficult to determine. Many modern software applications are so complex, and run in such an interdependent environment, that complete testing can never be done. Common factors in deciding when to stop are:
-          Deadlines (release deadlines, testing deadlines, etc.)
-          Test cases completed with certain percentage passed
-          Test budget depleted
-          Coverage of code/functionality/requirements reaches a specified point
-          Bug rate falls below a certain level
-          Beta or alpha testing period ends

Question: 37 What are benefits of the test automation?

1. Fast  2. Reliable  3. Repeatable   4. Programmable    5. Comprehensive  6. Reusable

Question: 38 Does automation replace manual testing?

No, it does not. There could be several scenarios that cannot be automated or simply too complicated that manual testing would be easier and cost effective. Further automation tools have several constrains with regard the environment in which they run and IDEs they support.

Question: 39 What type of document do you need for QA, QC and testing?

Following is the list of documents required by QA and QC teams
Business requirements
SRS
Use cases
Test plan
Test cases

Question: 40 What are the properties of a good requirement?
Understandable, Clear, Concise, Total Coverage of the application
Question: 41 How do you determine what to test?
Depending upon the User Requirement document.
Question: 42 How do you decide when you have ‘tested enough?’
Using Exit Criteria document we can decide that we have done enough testing.
Question: 43 Where do you get your expected results?
Requirement document.
Question: 44 How do you go about testing a project?
1.      Analyze user requirement documents and other documents like software specifications, design document etc.
2.      Write master test plan which describe the scope, objective, strategy, risk/contingencies, resources
3.      Write system test plan and detailed test cases
4.      Execute test cases manually and compare actual results against expected results.
5.      Identify mismatches, report defect to the development team using defect reporting tool.
6.      Track defect, perform regression test to verify that defect is fixed and did not disturb other parts of the application.
7.      Once all the defects are closed and application is stabilized, automate the test scripts for regression and performance testing.

Question: 45 How do you go about testing a web application?
We check for User interface, Functionality, Interface testing, Compatibility, Load/Stress, and Security.

Question: 46 What is verification?
A: Verification ensures the product is designed to deliver all functionality to the customer; it typically involves reviews and meetings to evaluate documents, plans, code, requirements and specifications; this can be done with checklists, issues lists, and walkthroughs and inspection meetings.

Question: 47 What is validation?
A: Validation ensures that functionality, as defined in requirements, is the intended behavior of the product; validation typically involves actual testing and takes place after verifications are completed.


Question: 48 What is test Metrics? What is the use of Metrics?
Test metrics contains follwoing details:
         Total test
         Test run
         Test passed
         Test failed
         Tests deferred
         Test passed the first time
Use:     Provide the accurate measurement of test coverage.

Question: 49 What is good design?
A: Design could mean to many things, but often refers to functional design or internal design. Good functional design is indicated by software functionality can be traced back to customer and end-user requirements. Good internal design is indicated by software code whose overall structure is clear, understandable, easily modifiable and maintainable; is robust with sufficient error handling and status logging capability; and works correctly when implemented.

Question: 50 What is software life cycle?
A: Software life cycle begins when a software product is first conceived and ends when it is no longer in use. It includes phases like initial concept, requirements analysis, functional design, internal design, documentation planning, test planning, coding, document preparation, integration, testing, maintenance, updates, re-testing and phase-out.

Question: 51 What is a test case?
A: A test case is a document that describes an input, action, or event and its expected result, in order to determine if a feature of an application is working correctly. A test case should contain particulars such as a...
•           Test case identifier
•           Test case name
•           Objective
•           Input data requirements/steps
•           Expected results.
Please note, the process of developing test cases can help find problems in the requirements or design of an application, since it requires you to completely think through the operation of the application. For this reason, it is useful to prepare test cases early in the development cycle, if possible.

Question: 52 What is the general testing process?
A: The general testing process is the creation of a test strategy (which sometimes includes the creation of test cases), creation of a test plan/design (which usually includes test cases and test procedures) and the execution of tests.


Question: 53 What is a test schedule?
A: The test schedule is a schedule that identifies all tasks required for a successful testing effort, a schedule of all test activities and resource requirements.

Question: 54 What are the different levels of testing?
A. Each level of testing is either considered black or white box testing.

Question: 55 What is black box testing?
A: Black box testing is functional testing, not based on any knowledge of internal software design or code. Black box testing are based on requirements and functionality.

Question: 56 What is white box testing?
A: White box testing is based on knowledge of the internal logic of an application's code. Typically done by developers.

Question: 57 What is unit testing?
A: Unit testing is the first level of dynamic testing and is first the responsibility of developers and then that of the test engineers. Unit testing is performed after the expected test results are met or differences are explainable/acceptable.

Question: 58 What is functional testing?
A: Functional testing is black-box type of testing geared to functional requirements of an application. Test engineers *should* perform functional testing.


Question: 59 What is integration testing?
A: Upon completion of unit testing, integration testing begins. Integration testing is black box testing. The purpose of integration testing is to ensure distinct components of the application still work in accordance to customer requirements. Test cases are developed with the express purpose of exercising the interfaces between the components. This activity is carried out by the test team. Integration testing is considered complete, when actual results and expected results are either in line or differences are explainable/acceptable based on client input.

Question:61  What is incremental integration testing?
A: Incremental integration testing is continuous testing of an application as new functionality is recommended. This may require that various aspects of an application's functionality are independent enough to work separately, before all parts of the program are completed, or that test drivers are developed as needed. This type of testing may be performed by programmers, software engineers, or test engineers.

Question:62 What is system testing?
A: System testing is black box testing, performed by the Test Team, The purpose of system testing is to validate an application's accuracy and completeness in performing the functions as designed. System testing is deemed complete when actual results and expected results are either in line or differences are explainable or acceptable, based on client input. Upon completion of integration testing, system testing is started.

Question:63 What is Gray Box testing?
A style of testing that attempts to blend both “white box” and “black box” test strategies.

Question:64 What is end-to-end testing?
A: Similar to system testing, the *macro* end of the test scale is testing a complete application in a situation that mimics real world use, such as interacting with a database, using network communication, or interacting with other hardware, application, or system.

Question:65 What is regression testing?
Regression testing is like retesting after fixing or modification. Expected results from      are compared to results of the software under test

Question:66 What is sanity testing?
A: Sanity testing is performed whenever cursory testing is sufficient to prove the application is functioning according to specifications. This level of testing is a subset of regression testing. It normally includes a set of core tests of basic GUI functionality to demonstrate connectivity to the database, application servers, printers, etc.

Question:67 What is performance testing?
A. Performance testing verifies loads, volumes and response times, as defined by requirements.

Question:68  What is load testing?
A: Load testing is testing an application under heavy loads, such as the testing of a web site under a range of loads to determine at what point the system response time will degrade or fail.




Question:69 What is stress testing?
A: Stress testing is testing that investigates the behavior of software (and hardware) under extraordinary operating conditions. For example, when a web server is stress tested, testing aims to find out how many users can be on-line, at the same time, without crashing the server

Question:70  What is recovery/error testing?
A: Recovery/error testing is testing how well a system recovers from crashes, hardware failures, or other catastrophic problems.

Question:71 What is compatibility testing?
A: Compatibility testing is testing how well software performs in a particular hardware, software, operating system, network environment. And different kind of browsers and their versions.

Question:72 What is acceptance testing?
A: Acceptance testing is black box testing that gives the client/customer/project manager the opportunity to verify the system functionality and usability prior to the system being released to production. The acceptance test is the responsibility of the client/customer or project manager; however, it is conducted with the full support of the project team. The test team also works with the client/customer/project manager to develop the acceptance criteria.

Question:73 What is alpha testing?
A: Alpha testing is testing of an application when the development is nearing completion and when the application is not steady. Minor design changes can still be made as a result of alpha testing.

Question:74 What is beta testing?
A: Beta testing is testing an application when development and testing are essentially completed and final bugs and problems need to be found before the final release. Beta testing is typically performed by end-users or others, not programmers, software engineers, or test engineers.

Comments

Popular posts from this blog

JAVA Scrollbar, MenuItem and Menu, PopupMenu

ava AWT Scrollbar The  object  of Scrollbar class is used to add horizontal and vertical scrollbar. Scrollbar is a  GUI  component allows us to see invisible number of rows and columns. AWT Scrollbar class declaration public   class  Scrollbar  extends  Component  implements  Adjustable, Accessible   Java AWT Scrollbar Example import  java.awt.*;   class  ScrollbarExample{   ScrollbarExample(){               Frame f=  new  Frame( "Scrollbar Example" );               Scrollbar s= new  Scrollbar();               s.setBounds( 100 , 100 ,  50 , 100 );               f.add(s);   ...

Difference between net platform and dot net framework...

Difference between net platform and dot net framework... .net platform supports programming languages that are .net compatible. It is the platform using which we can build and develop the applications. .net framework is the engine inside the .net platform which actually compiles and produces the executable code. .net framework contains CLR(Common Language Runtime) and FCL(Framework Class Library) using which it produces the platform independent codes. What is the .NET Framework? The Microsoft .NET Framework is a platform for building, deploying, and running Web Services and applications. It provides a highly productive, standards-based, multi-language environment for integrating existing investments with next-generation applications and services as well as the agility to solve the challenges of deployment and operation of Internet-scale applications. The .NET Framework consists of three main parts: the common language runtime, a hierarchical set of unified class librari...

Standard and Formatted Input / Output in C++

The C++ standard libraries provide an extensive set of input/output capabilities which we will see in subsequent chapters. This chapter will discuss very basic and most common I/O operations required for C++ programming. C++ I/O occurs in streams, which are sequences of bytes. If bytes flow from a device like a keyboard, a disk drive, or a network connection etc. to main memory, this is called   input operation   and if bytes flow from main memory to a device like a display screen, a printer, a disk drive, or a network connection, etc., this is called   output operation . Standard Input and Output in C++ is done through the use of  streams . Streams are generic places to send or receive data. In C++, I/O is done through classes and objects defined in the header file  <iostream> .  iostream  stands for standard input-output stream. This header file contains definitions to objects like  cin ,  cout , etc. /O Library Header Files There are...