The testware is:
Testware is special because it has:
@Different purpose
@Different metrics for quality and
@Different users
Monkey testing is a type of Black Box Testing used mostly at the Unit Level. In this tester enter the data in any format and check the software is not crashing. In this testing we use Smart monkey and Dumb monkey.
Example: In phone number filed Symbols are entered.
When test inputs are selected randomly from the input domain of the system, this is Random Testing.
Random testing involves following procedure:
The paradigms for interfacing modules:
The Bug Tracking System role is discussed below:
Traceability Matrix is a method used to validate the compliance of product with requirements for that product. The requirement is written in a row of the matrix and the columns of the matrix. Now they are used to identify how and where each requirement has been addressed.
It is in the form of table that correlates two base lined documents that require a many-to-many relationship. It is used with high level requirement and detailed requirement of the software product to the matching parts of high level design, detailed design, test plan, and test cases. The relationship to the source documents is required for both backward traceability and forward traceability.
Verification: process of evaluating steps which is followed up to development phase to determine whether they meet the specified requirements for that stage.
Validation: process of evaluating product during or at the end of the development process to determine whether product meets specified requirements.
Difference between Verification and Validation:
The main attributes are discussed below:
Bug Leakage: When customer or end user discovered a bug which can be detected by the testing team. Or when a bug is detected which can be detected in pervious build then this is called as Bug Leakage.
Bug release: is when a build is handed to testing team with knowing that defect is present in the release. The priority and severity of bug is low. It is done when customer want the application on the time. Customer can tolerate the bug in the released then the delay in getting the application and the cost involved in removing that bug. These bugs are mentioned in the Release Notes handed to client for the future improvement chances.
It is a process to control and document any changes made during the life of a project. Release control, Change control and Revision control are the important aspects of configuration management.
The differences in responsibilities are listed below:
Capability Maturity Model (CMM) is divided in five levels:
@Initial: The organization is characterized by an adhoc set of activities. The processes aren't defined and success depends on individual effort and heroics.
@Repeatable: In this level some processes are repeatable, possibly with consistent results.
@Defined: In this level, we define all processes are documented for both management and engineering activities, and standards.
@Managed: Detailed measures of each process are defined and product quality data is routinely collected. Both process and products are quantitatively understood and controlled.
@Optimizing: In this we optimize the application by following improvement process.
Bottom Up Approach:
Top Down Approach:
The dimensions of the risk are described below:
Schedule: Unrealistic schedules. to develop a huge software in a single day..
Client: Ambiguous requirements definition, requirement and not clear, changes in the requirement etc.
Human Resources: Non-availability of sufficient resources with the skill level expected in the project.
System Resources: Non-availability of procuring all critical computer resources either hardware and software tools or licenses for software will have an adverse impact.
Quality: Compound factors like lack of resources along with a tight delivery schedule and frequent changes to requirements will have an impact on the quality of the product tested.
Destructive testing includes methods where material is broken down to evaluate the mechanical properties, such as strength, toughness and hardness.
For example, finding the quality of a weld is good enough to withstand extreme pressure and also to verify the properties of a material.
Benefits of Destructive Testing (DT):
QA stands for QUALITY ASSURANCE. QA team assures the quality by monitor the whole development process. QA tracks the outcomes and adjusting process to meet the expectation.
The role of Quality Assurance is discussed below:
The difference between Retesting and Regression testing are as follows:
In verification, all the key aspects of software developments are taken in concern like code, specifications, requirements and document plans. Verification is done on the basis of four things list of issues, checklist, walkthroughs and inspection meetings. Following verification, validation is done, it involves actual testing, and all the verification aspects are checked thoroughly in validation.
We need test stub and test driver because of following reason:
Quality Assurance (QA): QA refers to the planned and systematic way of monitoring the quality of process which is followed to produce a quality product. QA tracks the outcomes and adjusts the process to meet the expectation.
Quality Control (QC): Concern with the quality of the product. QC finds the defects and suggests improvements. The process set by QA is implemented by QC. The QC is the responsibility of the tester.
Software Testing: is the process of ensuring that product which is developed by the developer meets the user requirement. The motive to perform testing is to find the bugs and make sure that they get fixed.
A Gantt Chart is used to represent a project schedule that includes duration of individual tasks or phases, their dependencies and ordering.
The reasons for choosing automation testing over manual testing are following:
Use Case: A use case is a description of the process which is performed by the end user for a particular task. Use case contains a sequence of step which is performed by the end user to complete a specific task or a step by step process that describe how the application and end user interact with each other. Use case is written by the user point of view.
Use case Testing: the use case testing uses this use case to evaluate the application. So that, the tester can examines all the functionalities of the application. Use case testing cover whole application, tester performs this testing in step by step process to complete one task.
The benefits of Automation Testing are as below:
Following are some challenges of software testing:
The choice of SDLC depends on the various factors and how stable are the requirements:
A thread testing is a top-down testing, where the progressive integration of components follows the implementation of subsets of the requirements, as opposed to the integration of components by successively lower levels.
Data Driven is an automation testing part in which test input or output values, these values are read from data files. It is performed when the values are changing by the time. The different data files may include data pools, csv files, Excel files. The data is then loaded into variables in recorded or manually coded scripts. For data driven testing we use Parameterzing and Regular expression Technique.
Ex: To evaluate login functionality, we use different user name and password combinations, variables are used to access different username and password. The list of username and password are stored in a data table or excel sheet.