1. What are the different Ways of doing Black Box testing?
There are five methodologies most frequently used:
- Top down according to budget
- WBS (Work Breakdown Structure)
- Guess and gut feeling
- Early project data
- TPA (Test Point Analysis)
2. Can you explain TPA analysis?
TPA is a technique used to estimate test efforts for black box testing. Inputs for TPA are the counts derived from function points.
Below are the features of TPA:
- Used to estimate only black box testing.
- Require function points as inputs.
3. Can you explain the elementary process?
Software applications are a combination of elementary processes. When elementary processes come together they form a software application.
There are two types of elementary processes:
- Dynamic elementary Process: The dynamic elementary process moves data from an internal application boundary to an external application boundary or vice-versa. Example: Input data screen where a user inputs data into the application. Data moves from the input screen inside the application.
- Static elementary Process: Static elementary process which maintains the data of the application either inside the application boundary or in the external application boundary. For example, in a customer maintenance screen maintaining customer data is a static elementary process.
4. How do you estimate white box testing?
The testing estimates derived from function points are actually the estimates for white box testing. So in the following figure the man days are actually the estimates for white box testing of the project. It does not take into account black box testing estimation.
5. Can you explain the various elements of function points FTR, ILF, EIF, EI, EO, EQ, and GSC?
- File Type References (FTRs): An FTR is a file or data referenced by a transaction. An FTR should be an ILF or EIF. So count each ILF or EIF read during the process. If the EP is maintained as an ILF then count that as an FTR. So by default you will always have one FTR in any EP.
- Internal Logical Files (ILFs): ILFs are logically related data from a user's point of view. They reside in the internal application boundary and are maintained through the elementary process of the application.ILFs can have a maintenance screen but not always.
- External Interface Files (EIFs): EIFs reside in the external application boundary. EIFs are used only for reference purposes and are not maintained by internal applications. EIFs are maintained by external applications.
- External Input (EI): EIs are dynamic elementary processes in which data is received from the external application boundary. Example: User interaction screens, when data comes from the User Interface to the Internal Application.
- External Output (EO): EOs are dynamic elementary processes in which derived data crosses from the internal application boundary to the external application boundary.
- External Inquiry (EQ): An EQ is a dynamic elementary process in which result data is retrieved from one or more ILF or EIF. In this EP some input requests have to enter the application boundary. Output results exits the application boundary.
- General System Characteristics (GSCs): This section is the most important section. All the previously discussed sections relate only to applications. But there are other things also to be considered while making software, such as are you going to make it an N-Tier application, what's the performance level the user is expecting, etc. These other factors are called GSCs.
6. Can you explain an Application boundary?
The first step in FPA is to define the boundary. There are two types of major boundaries:
- Internal Application Boundary
- External Application Boundary
The external application boundary can be identified using the following litmus test:
- Does it have or will it have any other interface to maintain its data, which was not developed by you?.
- Does your program have to go through a third party API or layer? In order for your application to interact with the tax department application your code has to interact with the tax department API.
- The best litmus test is to ask yourself if you have full access to the system. If you have full rights to make changes then it is an internal application boundary, otherwise it is an external application boundary.