|
Here are some of the Frequently Asked Questions. If you have any other questions, please feel free to contact us on info@hitechito.com.
What is Software Testing?
Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results. Some of its features are:
- It demonstrates the conformance to specifications and is an indication of reliability and quality of the Software.
- Testing includes inspection and structured peer reviews of requirements and design, as well as execution test of code.
- Testing cannot show the absence of defects/errors.
Back to Top
What is Software Quality Assurance?
Software QA involves the entire software development PROCESS - monitoring and improving the process, making sure that any agreed-upon standards and procedures are followed, and ensuring that problems are found and dealt with. It is oriented to 'prevention'.
Back to Top
Why we go for Software Testing?
Software Testing is important an application may cause adverse impact on operational performance and reliability if not tested properly. Effective software testing helps to deliver quality software products that satisfy user's requirements, needs and expectations. If done poorly, defects are found during operation and it results in high maintenance cost and user dissatisfaction.
Back to Top
What is the Purpose and Benefit of Testing?
The main objective of testing is to clearly describe system behavior and to find defects in requirements, design, documentation and code as early as possible.
The test process should be such that it should reduce the number of defects of the software product to be delivered to the customer. All Tests should be traceable to customer requirements. Testing ensures that Quality and bug free products are delivered to the customer.
Back to Top
What is Black Box Testing?
Black-box test design treats the system as a black-box, so it doesnt explicitly use knowledge of the internal structure. Black-box test design is usually described as focusing on testing functional requirements. This type of testing method attempts to find incorrect or missing functions, errors in data structures or external database access, interface errors, performance errors and initialization and termination errors.
Back to Top
What is White Box Testing?
White-box test design allows one to peek inside the box and it focuses specifically on using internal knowledge of the software to guide the selection of test data. White Box testing examines the basic structure of the program and it derives the test data from the program logic, ensuring that all statements and conditions have been executed at least once.
Back to Top
What is the Software life cycle?
The life cycle begins when an application is first conceived and ends when it is no longer in use. It includes aspects such as initial concept, requirements analysis, functional design, internal design, documentation planning, test planning, coding, document preparation, integration, testing, maintenance, updates, retesting, phase-out and other aspects.
Back to Top
What is Testing life cycle?
Testing Life Cycle in our organization is as follows:
- Requirement Analysis: Testing should begin in the requirements phase of the Software life cycle
- Design Analysis: During the design phase, testers work with developers in determining as to what aspects of a design are testable and under what parameter do those testers work.
- Test Planning: Test Strategy, Test Plan(s), Test Bed creation.
- Test Development: Test Procedures, Test Scenarios, Test Cases, and Test Scripts to use in testing software.
- Test Execution: The software is executed by the Testers based on the plans and tests. Any error that they encounter during the process is then reported to the development team.
- Test Reporting: Once testing is completed, testers generate metrics and make final reports on their test exercise and make a specific mention as to whether or not the tested software is ready for release.
- Retesting the Defects
Back to Top
What kinds of testing should be considered?
There are various types of testing involved such as:
Unit Testing - The most 'micro' scale of testing is 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.
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.
Smoke Testing- Smoke testing is non-exhaustive software testing, ascertaining that the most crucial functions of a program work, without bothering the finer details.
Functional Testing Is Black-box type testing geared to functional requirements of an application, this type of testing is usually done by testers.
System Testing- - Black-box type testing that is based on overall requirement specifications and covers all combined parts of a system.
Regression Testing It is 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 during the end of the development cycle.
Load Testing It is testing an application under heavy loads, such as testing of a web site under a range of loads to determine at what point the system's response time degrades or fails.
Acceptance Testing It is a testing conducted to enable a customer. User has to determine whether to accept the product. Is normally performed to validate the software meets a set of agreed acceptance criteria
Back to Top
What's a Test plan?
A software project test plan is a document that describes the objectives, scope, approach, and focus of a software testing effort. The process of preparing a test plan is a useful way to think through the efforts needed to validate the acceptability of a software product. The completed document will help people outside the test group understand the 'why' and 'how' of product validation.
Back to Top
What's a Test case?
Test case is a document that describes an input, action, or event and an expected response, to determine if a feature of an application is working correctly. The process of developing test cases can help find problems in the requirements or design of an application, since it requires complete thinking through the operation of the application. For this reason, it's useful to prepare test cases early in the development cycle if possible.
Back to Top
When can we stop testing?
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
Back to Top
What is SEI, ISO and CMM?
SEI = 'Software Engineering Institute' at Carnegie-Mellon University, initiated by the U.S. Defense Department to help improve software development processes.
ISO = 'International Organization for Standardization' - The ISO 9001:2000 standard (which replaces the previous standard of 1994) concerns quality systems that are assessed by outside auditors, and it applies to many kinds of production and manufacturing organizations, not just software. It covers documentation, design, development, production, testing, installation, servicing and other processes.
CMM = 'Capability Maturity Model' is now called the CMMI ('Capability Maturity Model Integration'), developed by the SEI. It's a model of 5 levels of process 'maturity' that determine effectiveness in delivering quality software.
Back to Top
Why does software have bugs?
Software might have bugs as a result of:
- Miscommunication or no communication
- Programming errors
- Changing requirements
- Time pressures
- Software complexity
Back to Top
What are the software models?
A software model is a process for the creation of software. Few of them are as follows:
- 1V-model
- Spiral
- Waterfall
- Prototype
Back to Top
What is automated testing?
Automated Testing is automating the manual testing process currently in use. Functional, Regression, Performance testing can be automated using different automation tools.
Back to Top
|