Posts

Showing posts from February, 2018

Automated Testing :: Software

Image
Does automation replace manual testing? Automation is the integration of testing tools into the test environment in such a manner that the test execution, logging, and comparison of results are done with little human intervention. A testing tool is a software application which helps automate the testing process. But the testing tool is not the complete answer for automation. One of the huge mistakes done in testing automation is automating the wrong things during development. Many testers learn the hard way that everything cannot be automated. The best components to automate are repetitive tasks. So some companies first start with manual testing and then see which tests are the most repetitive ones and only those are then automated. As a rule of thumb do not try to automate: Unstable software: If the software is still under development and undergoing many changes automation testing will not be that effective. Once in a blue moon test scripts: Do not automate test scripts which w...

Testing Estimation :: Software Testing

Image
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) 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. 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 mov...

SoftwareTesting Metrics

Image
What is meant by measures and metrics? Measures are quantitatively unit defined elements, for instance, hours, km, etc. Metrics are basically comprised of more than one measure. For instance, we can have metrics such as km/hr, m/s etc. Can you explain how the number of defects is measured? The number of defects is one of the measures used to measure test effectiveness. One of the side effects of the number of defects is that all bugs are not equal. So it becomes necessary to weight bugs according to their criticality level. If we are using the number of defects as the metric measurement the following are the issues: The number of bugs that originally existed significantly impacts the number of bugs discovered, which in turns gives a wrong measure of the software quality. All defects are not equal so defects should be numbered with a criticality level to get the right software quality measure. Can you explain unit and system test DRE? DRE is also useful to measure the...

CMMI implementation

Image
What different sources are needed to verify authenticity for CMMI implementation? There are three different sources from which an appraiser can verify that an organization followed the process or not.  Instruments:  An instrument is a survey or questionnaire provided to the organization, project, or individuals before starting the assessment so that beforehand the appraiser knows some basic details of the project. Interview:  An interview is a formal meeting between one or more members of the organization in which they are asked some questions and the appraiser makes some judgments based on those interviews. During the interview the member represents some process area or role which he performs. For instance, the appraiser may interview a tester or programmer asking him indirectly what metrics he has submitted to his project manager. By this the appraiser gets a fair idea of CMMI implementation in that organization. Documents:  A document is a written work or pro...

CMMI

Image
What is CMMI and what's the advantage of implementing it in an organization? CMMI stands for Capability Maturity Model Integration. It is a process improvement approach that provides companies with the essential elements of an effective process. CMMI can serve as a good guide for process improvement across a project, organization, or division. CMMI was formed by using multiple previous CMM processes.  The following are the areas which CMMI addresses: Systems engineering:  This covers development of total systems. System engineers concentrate on converting customer needs to product solutions and supports them throughout the product lifecycle. Software engineering:  Software engineers concentrate on the application of systematic, disciplined, and quantifiable approaches to the development, operation, and maintenance of software. Integrated Product and Process Development (IPPD):  Integrated Product and Process Development (IPPD) is a systematic approach that achie...

Six Sigma :: Software Testing

Image
What is Six Sigma? Six Sigma is a statistical measure of variation in a process. We say a process has achieved Six Sigma if the quality is 3.4 DPMO (Defect per Million Opportunities). It's a problem-solving methodology that can be applied to a process to eliminate the root cause of defects and costs associated with it. Can you explain the different methodology for the execution and the design process stages in Six Sigma? The main focus of Six Sigma is to reduce defects and variations in the processes. DMAIC and DMADV are the models used in most Six Sigma initiatives.  DMADV is the model for designing processes while DMAIC is used for improving the process.  The DMADV model includes the following five steps: Define:  Determine the project goals and the requirements of customers (external and internal). Measure:  Assess customer needs and specifications. Analyze:  Examine process options to meet customer requirements. Design:  Develop the proces...

Software Testing Techniques

Image
Can you explain boundary value analysis? In some projects there are scenarios where we need to do boundary value testing. For instance, let's say for a bank application you can withdraw a maximum of 25000 and a minimum of 100. So in boundary value testing we only test the exact boundaries rather than hitting in the middle. That means we only test above the max and below the max. This covers all scenarios. The following figure shows the boundary value testing for the bank application which we just described. TC1 and TC2 are sufficient to test all conditions for the bank. TC3 and TC4 are just duplicate/redundant test cases which really do not add any value to the testing. So by applying proper boundary value fundamentals we can avoid duplicate test cases, which do not add value to the testing. Can you explain equivalence partitioning? In equivalence partitioning we identify inputs which are treated by the system in the same way and produce the same results. You can see from...

The Software Testing Processs

Image
What is a software process? A software process is a series of steps used to solve a problem. The following figure shows a pictorial view of how an organization has defined a way to solve risk problems. In the diagram we have shown two branches: one is the process and the second branch shows a sample risk mitigation process for an organization. For instance, the risk mitigation process defines what step any department should follow to mitigate a risk. The process is as follows: Identify the risk of the project by discussion, proper requirement gathering, and forecasting. Once you have identified the risk prioritize which risk has the most impact and should be tackled on a priority basis. Analyze how the risk can be solved by proper impact analysis and planning. Finally, using the above analysis, we mitigate the risk. What are the different cost elements involved in implementing a process in an organization? Below are some of the cost elements involved in the implementing...

TESTING Basic

Image
Can you explain the PDCA cycle and where testing fits in? Software testing is an important part of the software development process. In normal software development there are four important steps, also referred to, in short, as the PDCA (Plan, Do, Check, Act) cycle. Let's review the four steps in detail. Plan:  Define the goal and the plan for achieving that goal. Do/Execute:  Depending on the plan strategy decided during the plan stage we do execution accordingly in this phase. Check:  Check/Test to ensure that we are moving according to plan and are getting the desired results. Act:  During the check cycle, if any issues are there, then we take appropriate action accordingly and revise our plan again. So developers and other stakeholders of the project do the "planning and building," while testers do the check part of the cycle. Therefore, software testing is done in check part of the PDCA cyle. What is the difference between white box, black box, and ...