My FAQ's
http://istqbexamcertification.com/what-is-fundamental-test-process-in-software-testing/
* 1. What is fundamental test process in software testing?
ANSWER:
Testing is a process rather than a single activity. This process starts from test planning then designing test cases, preparing for execution and evaluating
status till the test closure. So, we can divide the activities within the fundamental test process into the following basic steps:
1) Planning and Control
2) Analysis and Design
3) Implementation and Execution
4) Evaluating exit criteria and Reporting
5) Test Closure activities
1) Planning and Control:
Test planning has following major tasks:
i. To determine the scope and risks and identify the objectives of testing.
ii. To determine the test approach.
iii. To implement the test policy and/or the test strategy. (Test strategy is an outline that describes the testing portion of the software development cycle.
It is created to inform PM, testers and developers about some key issues of the testing process. This includes the testing objectives, method of testing,
total time and resources required for the project and the testing environments.).
iv. To determine the required test resources like people, test environments, PCs, etc.
v. To schedule test analysis and design tasks, test implementation, execution and evaluation.
vi. To determine the Exit criteria we need to set criteria such as Coverage criteria. (Coverage criteria are the percentage of statements in the software
that must be executed during testing. This will help us track whether we are completing test activities correctly. They will show us which tasks
and checks we must complete for a particular level of testing before we can say that testing is finished.)
Test control has the following major tasks:
i. To measure and analyze the results of reviews and testing.
ii. To monitor and document progress, test coverage and exit criteria.
iii. To provide information on testing.
iv. To initiate corrective actions.
v. To make decisions.
2) Analysis and Design:
Test analysis and Test Design has the following major tasks:
i. To review the test basis. (The test basis is the information we need in order to start the test analysis and create our own test cases.
Basically it’s a documentation on which test cases are based, such as requirements, design specifications, product risk analysis, architecture and interfaces.
We can use the test basis documents to understand what the system should do once built.)
ii. To identify test conditions.
iii. To design the tests.
iv. To evaluate testability of the requirements and system.
v. To design the test environment set-up and identify and required infrastructure and tools.
3) Implementation and Execution:
During test implementation and execution, we take the test conditions into test cases and procedures and other testware such as scripts for automation,
the test environment and any other test infrastructure. (Test cases is a set of conditions under which a tester will determine whether an application
is working correctly or not.)
(Testware is a term for all utilities that serve in combination for testing a software like scripts, the test environment and any other test infrastructure
for later reuse.)
Test implementation has the following major task:
i. To develop and prioritize our test cases by using techniques and create test data for those tests. (In order to test a software application you need to
enter some data for testing most of the features. Any such specifically identified data which is used in tests is known as test data.)
We also write some instructions for carrying out the tests which is known as test procedures.
We may also need to automate some tests using test harness and automated tests scripts. (A test harness is a collection of software and test data for testing
a program unit by running it under different conditions and monitoring its behavior and outputs.)
ii. To create test suites from the test cases for efficient test execution.
(Test suite is a collection of test cases that are used to test a software program to show that it has some specified set of behaviours. A test suite
often contains detailed instructions and information for each collection of test cases on the system configuration to be used during testing. Test suites
are used to group similar test cases together.)
iii. To implement and verify the environment.
Test execution has the following major task:
i. To execute test suites and individual test cases following the test procedures.
ii. To re-execute the tests that previously failed in order to confirm a fix. This is known as confirmation testing or re-testing.
iii. To log the outcome of the test execution and record the identities and versions of the software under tests. The test log is used for the audit trial.
(A test log is nothing but, what are the test cases that we executed, in what order we executed, who executed that test cases and what is the status
of the test case (pass/fail). These descriptions are documented and called as test log.).
iv. To Compare actual results with expected results.
v. Where there are differences between actual and expected results, it report discrepancies as Incidents.
4) Evaluating Exit criteria and Reporting:
Based on the risk assessment of the project we will set the criteria for each test level against which we will measure the “enough testing”.
These criteria vary from project to project and are known as exit criteria.
Exit criteria come into picture, when:
— Maximum test cases are executed with certain pass percentage.
— Bug rate falls below certain level.
— When achieved the deadlines.
Evaluating exit criteria has the following major tasks:
i. To check the test logs against the exit criteria specified in test planning.
ii. To assess if more test are needed or if the exit criteria specified should be changed.
iii. To write a test summary report for stakeholders.
5) Test Closure activities:
Test closure activities are done when software is delivered. The testing can be closed for the other reasons also like:
When all the information has been gathered which are needed for the testing.
When a project is cancelled.
When some target is achieved.
When a maintenance release or update is done.
Test closure activities have the following major tasks:
i. To check which planned deliverables are actually delivered and to ensure that all incident reports have been resolved.
ii. To finalize and archive testware such as scripts, test environments, etc. for later reuse.
iii. To handover the testware to the maintenance organization. They will give support to the software.
iv To evaluate how the testing went and learn lessons for future releases and projects.
2.What is Software Testing Life Cycle (STLC)?
http://istqbexamcertification.com/what-is-software-testing-life-cycle-stlc/
Software Testing Life Cycle is a testing process which is executed in a sequence, in order to meet the quality goals. It is not a single activity
but it consists of many different activities which are executed to achieve a good quality product. There are different phases in STLC which are given below:
Requirement analysis
Test Planning
Test case development
Environment Setup
Test Execution
Test Cycle Closure
* 3. http://istqbexamcertification.com/what-is-maintenance-testing/
What is Maintenance Testing?
ANSWER:
Once a system is deployed it is in service for years and decades. During this time the system and its operational environment is often corrected, changed or extended. Testing that is provided during this phase is called maintenance testing.
Usually maintenance testing is consisting of two parts:
First one is, testing the changes that has been made because of the correction in the system or if the system is extended or because of some additional
features added to it.
Second one is regression tests to prove that the rest of the system has not been affected by the maintenance work.
*4. Difference between regression testing and retesting
http://istqbexamcertification.com/difference-between-regression-testing-and-retesting/
Regression testing Retesting
Regression testing is done to find out the issues which may get introduced because of any change or modification in the application.
Retesting is done to confirm whether the failed test cases in the final execution are working fine or not after the issues have been fixed.
The purpose of regression testing is that any new change in the application should NOT introduce any new bug in existing functionality.
The purpose of retesting is to ensure that the particular bug or issue is resolved and the functionality is working as expected.
Verification of bugs are not included in the regression testing.
Verification of bugs are included in the retesting.
Regression testing can be done in parallel with retesting.
Retesting is of high priority so it’s done before the regression testing.
For regression testing test cases can be automated.
For retesting the test cases cannot be automated.
In case of regression testing the testing style is generic
In case of retesting the testing is done in a planned way.
During regression testing even the passed test cases are executed.
During retesting only failed test cases are re-executed.
Regression testing is carried out to check for unexpected side effects.
Retesting is carried out to ensure that the original issue is working as expected.
Regression testing is done only when any new feature is implemented or any modification or enhancement has been done to the code.
Retesting is executed in the same environment with same data but in new build.
Test cases of regression testing can be obtained from the specification documents and bug reports.
Test cases of retesting can be obtained only when the testing starts.
* 5. What is a Defect Life Cycle or a Bug lifecycle in software testing?
ANSWER:
http://istqbexamcertification.com/what-is-a-defect-life-cycle/
The bug has different states in the Life Cycle. The Life cycle of the bug can be shown diagrammatically as follows:Defect or Bug life cycle
Bug or defect life cycle includes following steps or status:
New: When a defect is logged and posted for the first time. It’s state is given as new.
Assigned : After the tester has posted the bug, the lead of the tester approves that the bug is genuine and he assigns the bug to corresponding developer
and the developer team. It’s state given as assigned.
Open : At this state the developer has started analyzing and working on the defect fix.
Fixed : When developer makes necessary code changes and verifies the changes then he/she can make bug status as ‘Fixed’ and the bug is passed to testing team.
Pending retest : After fixing the defect the developer has given that particular code for retesting to the tester. Here the testing is pending on the testers end.
Hence its status is pending retest.
Retest : At this stage the tester do the retesting of the changed code which developer has given to him to check whether the defect got fixed or not.
Verified : The tester tests the bug again after it got fixed by the developer. If the bug is not present in the software, he approves that the bug is fixed
and changes the status to “verified”.
Reopen : If the bug still exists even after the bug is fixed by the developer, the tester changes the status to “reopened”. The bug goes through the life cycle
once again.
Closed : Once the bug is fixed, it is tested by the tester. If the tester feels that the bug no longer exists in the software, he changes the status of
the bug to “closed”. This state means that the bug is fixed, tested and approved.
Duplicate : If the bug is repeated twice or the two bugs mention the same concept of the bug, then one bug status is changed to “duplicate“.
Rejected : If the developer feels that the bug is not genuine, he rejects the bug. Then the state of the bug is changed to “rejected”.
Deferred : The bug, changed to deferred state means the bug is expected to be fixed in next releases. The reasons for changing the bug to this state have many factors. Some of them are priority of the bug may be low, lack of time for the release or the bug may not have major effect on the software.
Not a bug : The state given as “Not a bug” if there is no change in the functionality of the application. For an example: If customer asks for some change in the
look and feel of the application like change of colour of some text then it is not a bug but just some change in the looks of the application.
* 6. What is Retesting? When to use it? Advantages and Disadvantages
ANSWER:
http://istqbexamcertification.com/what-is-retesting/
*7. * What is QA & QC?
http://www.diffen.com/difference/Quality_Assurance_vs_Quality_Control
ANSWER:
Quality Assurance is <<<<process oriented and focuses on defect <<<<prevention, while
Quality control is <<<<product oriented and focuses on defect <<<<<identification.
Quality Assurance Vs Quality Control
Definition
QA is a set of activities for ensuring quality in the processes by which products are developed.
QC is a set of activities for ensuring quality in products. The activities focus on identifying defects in the actual products produced.
Focus on
QA aims to prevent defects with a focus on the process used to make the product. It is a proactive quality process.
QC aims to identify (and correct) defects in the finished product. Quality control, therefore, is a reactive process.
Goal
The goal of QA is to improve development and test processes so that defects do not arise when the product is being developed.
The goal of QC is to identify defects after a product is developed and before it's released.
How
QA Establish a good quality management system and the assessment of its adequacy. Periodic conformance audits of the operations of the system.
QC Finding & eliminating sources of quality problems through tools & equipment so that customer's requirements are continually met.
What
QA Prevention of quality problems through planned and systematic activities including documentation.
Qc The activities or techniques used to achieve and maintain the product quality, process and service.
Responsibility
Everyone on the team involved in developing the product is responsible for quality assurance.
Quality control is usually the responsibility of a specific team that tests the product for defects.
Example
Verification is an example of QA
Validation/Software Testing is an example of QC
Statistical Techniques
Statistical Tools & Techniques can be applied in both QA & QC. When they are applied to processes (process inputs & operational parameters),
they are called Statistical Process Control (SPC); & it becomes the part of QA.
QC When statistical tools & techniques are applied to finished products (process outputs), they are called as Statistical Quality Control (SQC)
& comes under QC.
As a tool
QA is a managerial tool
QC is a corrective tool
Orientation
QA is process oriented
QC is product oriented
* What is verification and validation?
--------------------------------------
ANSWER:
http://softwaretestingfundamentals.com/verification-vs-validation/
VERIFICATION vs VALIDATION
Criteria Verification Validation
Definition :
Ver : The process of evaluating work-products (not the actual final product) of a development phase to determine whether they
meet the specified requirements for that phase.
Val : The process of evaluating software during or at the end of the development
process to determine whether it satisfies specified business requirements.
Objective :
Ver : To ensure that the product is being built according to the requirements and design specifications.
In other words, to ensure that work products meet their specified requirements.
Val : To ensure that the product actually meets the user’s needs, and that the specifications were correct in the first place.
In other words, to demonstrate that the product fulfills its intended use when placed in its intended environment.
Question :
Ver : Are we building the product right?
Val : Are we building the right product?
Evaluation Items :
Ver : Plans, Requirement Specs, Design Specs, Code, Test Cases
Val : The actual product/software.
Activities:
Ver : • Reviews
• Walkthroughs
• Inspections
Val :
• Testing
* What is SDLC ?
----------------
ANSWER:
https://www.tutorialspoint.com/sdlc/sdlc_overview.htm
SDLC, Software Development Life Cycle is a process used by software industry to design, develop and test high quality softwares.
The SDLC aims to produce a high quality software that meets or exceeds customer expectations, reaches completion within times
and cost estimates.
SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop,
maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software
and the overall development process.
The following figure is a graphical representation of the various stages of a typical SDLC.
Stage 1: Planning & Requirement Analysis
Stage 2: Defining Requirement
Stage 3: Designing the product architecture
Stage 4: Building or Developing the Product
Stage 5: Testing the Product
Stage 6: Deployment in the Market and Maintenance
SDLC models followed in the industry:
------------------------------------
Waterfall Model
Iterative Model
Spiral Model
V-Model
Big Bang Model
The other related methodologies are Agile Model, RAD Model, Rapid Application Development and Prototyping Models.
What is the compentency (Efficiency)of the tester?
----------------------------
ANSWER:
Find the defect at the earliy stage of developement.
ER==AR to stop testing.
Where do the tester play the role in developement stage and Testing stage?
----------------------------
ANSWER:
The role of a software tester in an Agile environment goes beyond “just testing” and logging bugs. It is more working as part of a development team
and working closely with the product owner. The tester works with everyone in the team in order to improve and build quality into the
product as early as possible
In a non-Agile environment, the role of a tester includes analysis, test-scripts design, and execution. He is involved right from the project initiation
stage up to when it is closed, but in an Agile environment his role primarily is to work as part of a development team, and to ensure that quality is
built into a product by working closely with the product owner. This helps a tester get more details out of the story cards -- it will be difficult for
the development team to meet the acceptance criteria and consider a story "done" if the tester does not engage the product owner.
1. Communication
Agile principle: The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
A tester communicates more in an Agile environment; usually he becomes very communicative within the team without even realizing it.
2. Technical
Agile principle: Continuous attention to technical excellence and good design enhances agility.
3. Absolute Role
Agile Manifesto: Individuals and interactions over processes and tools.
4. Detect ambiguity
One major responsibility of testers in Agile is to help describe the features. Before the feature or user story goes into development,
the tester (and others) meet with the product owner to discuss what is on the story card. The goal of the conversation is to create an
opportunity for a good understanding of what the product owner wants. Skilled testers can be of great help here as they are capable of
detecting and recognizing ambiguity even before testing begins.
5. Automation skill
It is great for a tester to have automation (programming) skills; they can help turn user stories into automated test scripts in development
-- but not all testers have the skill. Lack of test automation skill therefore cannot be a determinant, but is essential that a tester picks
up this skill as soon as he can in the spirit of contributing to a cross-functional development team.
* What is test strategy?
----------------------------
ANSWER:
A test strategy is an outline that describes the testing approach of the software development cycle. It is created to inform project managers,
testers, and developers about some key issues of the testing process.
* What is test Plan?
----------------------------
ANSWER:
http://www.softwaretestinghelp.com/test-plan-sample-softwaretesting-and-quality-assurance-templates/
TABLE OF CONTENTS
1.0 INTRODUCTION
2.0 OBJECTIVES AND TASKS
2.1 Objectives
2.2 Tasks
3.0 SCOPE
4.0 Testing Strategy
4.1 Alpha Testing (Unit Testing)
4.2 System and Integration Testing
4.3 Performance and Stress Testing
4.4 User Acceptance Testing
4.5 Batch Testing
4.6 Automated Regression Testing
4.7 Beta Testing
5.0 Hardware Requirements
6.0 Environment Requirements
6.1 Main Frame
6.2 Workstation
7.0 Test Schedule
8.0 Control Procedures
9.0 Features to Be Tested
10.0 Features Not to Be Tested
11.0 Resources/Roles & Responsibilities
12.0 Schedules
13.0 Significantly Impacted Departments (SIDs)
14.0 Dependencies
15.0 Risks/Assumptions
16.0 Tools
17.0 Approvals
* What is Estimation?
----------------------------
ANSWER:
Triple point estimation
The three-point estimation technique is used in management and information systems applications for the construction of an approximate probability distribution
representing the outcome of future events, based on very limited information. While the distribution used for the approximation might be a normal distribution,
this is not always so and, for example a triangular distribution might be used, depending on the application.,[1]
In three-point estimation, three figures are produced initially for every distribution that is required, based on prior experience or best-guesses:
a = the best-case estimate
m = the most likely estimate
b = the worst-case estimate
Estimation:-
Based on the assumption (note: assumption) that a double-triangular distribution governs the data, several estimates are possible.
These values are used to calculate an E value for the estimate and a standard deviation (SD) as L-estimators, where:
E = (a + 4m + b) / 6
SD = (b - a) / 6
* When to start testing?
----------------------------
In what phase or stage of the project should QA testing start?
ANSWER:
There are various aspects of tests.
They are defined and run at all phases across Software Development Life Cycle (SDLC):
Acceptance Tests are defined just at the same time with Business Requirements - e.g. they are defined at the very beginning of an SDLC and run at the very end;
System Tests are defined along with SRS and are usually run for each alpha/local release;
Integration Tests are "mid-range" tests for components; They are defined and run pretty often, e.g. on weekly scrums;
and so on, till the very low-level Unit Tests that are defined and run on practically the same time;
So the answer to your question:
***** You should define and run different types of your tests at all phases of entire SDLC.
CUSTOMER SERVICE Service Requests Generate Debit Card PIN
* How to selecet the application for testing?
----------------------------------------------
ANSWER:
https://www.tutorialspoint.com/qtp/qtp_test_automation_process.htm
Automated Testing Process:
For any automated tool implementation, the following are the phases/stages of it. Each one of the stages corresponds to a particular activity
and each phase has a definite outcome.
1. Test Automation Feasibility Analysis - First step is to check if the application can be automated or not. Not all applications can be
automated due to its limitations.
2. Appropriate Tool Selection - The Next most important step is the selection of tools. It depends on the technology in which the application
is built, its features and usage.
3. Evaluate the suitable framework - Upon selecting the tool the next activity is to select a suitable framework. There are various kinds
of frameworks and each framework has its own significance. We will deal with frameworks in detail later this chapter.
4. Build the Proof of Concept - Proof of Concept(POC) is developed with an end to end scenario to evaluate if the tool can support the automation
of the application. As it is performed with an end to end scenario which will ensure that the major functionalities can be automated.
5. Develop Automation Framework - After building the POC, framework development is carried out, which is a crucial step for the success of any
test automation project. Framework should be build after diligent analysis of the technology used by the application and also its key features.
6. Develop Test Script, Execute and Analyze - Once Script development is completed, the scripts are executed, results are analyzed and defects
are logged, if any. The Test Scripts are usually version controlled.
* 2. Vulnerable testing? ( Security Testing - will be done on all layers. )
ANSWER:
Fishing - Creating junks email and hacking the Credcredential; blocking; decoding; Injections
* 3. Where is the Delphi Technique Used?
ANSWER:
The Delphi Method is useful in 2 scenarios.
1. When there are many experts involved, and consensus is not likely to happen quickly.
2. When the experts are geographically spread out, and it is difficult to get them into a room to discuss,
brainstorm and come up with the best strategy.
Where is the Delphi Technique used for the PMP exam preparation?
The Delphi technique is actually one of the Group Decision-Making Techniques. It is used in
Time Management > Estimate Activity Duration
Cost Management > Estimate Costs
Risk Management > Identify Risks
* What is COTS integration?
http://www.slideshare.net/saransh241/cots-integration
https://en.wikipedia.org/wiki/Commercial_off-the-shelf
ANSWER:
Slide 4 -5 ( Adaptation, Assembley and Upgrade).
Commercial off-the-shelf (COTS) is a term used to describe the purchase of packaged solutions which are then adapted
to satisfy the needs of the purchasing organisation, rather than the commissioning of custom made, or esposos, solutions.
* How to write effective Test cases, procedures and definitions
ANSWER:
http://www.softwaretestinghelp.com/how-to-write-effective-test-cases-test-cases-procedures-and-definitions/
What is a test case?
“A test case has components that describes an input, action or event and an expected response, to determine if a feature of an application is working correctly.”
There are levels in which each test case will fall in order to avoid duplication efforts.
Level 1: In this level you will write the basic test cases from the available specification and user documentation.
Level 2: This is the practical stage in which writing test cases depend on actual functional and system flow of the application.
Level 3: This is the stage in which you will group some test cases and write a test procedure. Test procedure is nothing but a group of small test cases
maximum of 10.
Level 4: Automation of the project. This will minimize human interaction with system and thus QA can focus on current updated functionalities to test
rather than remaining busy with regression testing.
So you can observe a systematic growth from no testable item to a Automation suit.
Why we write test cases?
The basic objective of writing test cases is to validate the testing coverage of the application. If you are working in any CMMi
company then you will strictly follow test cases standards. So writing test cases brings some sort of standardization and minimizes the ad-hoc approach in testing.
------------
How to write test cases?
Here is a simple test case format
Fields in test cases:
Test case id:
Unit to test: What to be verified?
Assumptions:
Test data: Variables and their values
Steps to be executed:
Expected result:
Actual result:
Pass/Fail:
Comments:
So here is a basic format of test case statement:
Verify
Using [tool name, tag name, dialog, etc]
With [conditions]
To [what is returned, shown, demonstrated]
Verify: Used as the first word of the test case statement.
Using: To identify what is being tested. You can use ‘entering’ or ‘selecting’ here instead of using depending on the situation.
For any application basically you will cover all the types of test cases including functional, negative and boundary value test cases.
Keep in mind while writing test cases that all your test cases should be simple and easy to understand. Don’t write explanations like essays. Be to the point.
* What is Test Plan V/s Test Strategy?
http://www.guru99.com/test-plan-v-s-test-strategy.html
Test Plan Test Strategy
A test plan for software project can be defined as a document that defines the scope, objective, approach and emphasis on a software testing effort
Test strategy is a set of guidelines that explains test design and determines how testing needs to be done
Components of Test plan include- Test plan id, features to be tested, test techniques, testing tasks, features pass or fail criteria, test deliverables, responsibilities, and schedule, etc.
Components of Test strategy includes- objectives and scope, documentation formats, test processes, team reporting structure, client communication strategy, etc.
Test plan is carried out by a testing manager or lead that describes how to test, when to test, who will test and what to test
A test strategy is carried out by the project manager. It says what type of technique to follow and which module to test
Test plan narrates about the specification
Test strategy narrates about the general approaches
Test plan can change
Test strategy cannot be changed
Test planning is done to determine possible issues and dependencies in order to identify the risks.
It is a long-term plan of action.You can abstract information that is not project specific and put it into test approach
A test plan exists individually
In smaller project, test strategy is often found as a section of a test plan
It is defined at project level
It is set at organization level and can be used by multiple projects
* What is I tier, II tier and III Tier architecture?
ANSWER:
-------
http://www.softwaretestingclass.com/what-is-difference-between-two-tier-and-three-tier-architecture/
Two-Tier Architecture :
------------------------
The two-tier is based on Client Server architecture. The two-tier architecture is like client server application. The direct communication
takes place between client and server. There is no intermediate between client and server. Because of tight coupling a
2 tiered application will run faster.
The Two-tier architecture is divided into two parts:
1) Client Application (Client Tier)
2) Database (Data Tier)
Advantages:
Easy to maintain and modification is bit easy
Communication is faster
Disadvantages:
In two tier architecture application performance will be degrade upon increasing the users.
Cost-ineffective
Three-Tier Architecture:
------------------------
Three-tier architecture typically comprise a presentation tier, a business or data access tier, and a data tier. Three layers in the three tier architecture
are as follows:
1) Client layer
2) Business layer
3) Data layer
1) Client layer:
It is also called as Presentation layer which contains UI part of our application. This layer is used for the design purpose where data is presented
to the user or input is taken from the user. For example designing registration form which contains text box, label, button etc.
2) Business layer:
In this layer all business logic written like validation of data, calculations, data insertion etc. This acts as a interface between Client layer
and Data Access Layer. This layer is also called the intermediary layer helps to make communication faster between client and data layer.
3) Data layer:
In this layer actual database is comes in the picture. Data Access Layer contains methods to connect with database and to perform insert,
update, delete, get data from database based on our input data.
* ANSWER:
-------
* http://www.codeproject.com/Questions/211552/Difference-Between-tier-tier-tier-Architech
Difference between 1-tier/2-tier & 3-tier architecture are as follows:
"Tier" can be defined as "one of two or more rows, levels, or ranks arranged one above another".
1-Tier Architecture is the simplest, single tier on single user, and is the equivalent of running an application on a personal computer. All the required
component to run the application are located within it. User interface, business logic, and data storage are all located on the same machine. They are the
easiest to design, but the least scalable. Because they are not part of a network, they are useless for designing web applications.
2-Tier Architectures supply a basic network between a client and a server. For example, the basic web model is a 2-Tier Architecture. A web browser makes
a request from a web server, which then processes the request and returns the desired response, in this case, web pages. This approach improves scalability
and divides the user interface from the data layers. However, it does not divide application layers so they can be utilized separately. This makes them difficult
to update and not specialized. The entire application must be updated because layers aren’t separated.
3-Tier Architecture is most commonly used to build web applications. In this model, the browser acts like a client, middleware or an application server contains
the business logic, and database servers handle data functions. This approach separates business logic from display and data.
So the 3 layers commonly known as : Presentation Layer(PL/UI),Business Logic Layer(BLL) & Data Access Layer(DAL).
* What is CRUD testing and how does a tester test this?
CRUD testing is actually Black Box testing. CRUD stands for (Create, Read, Update, Delete). I.e.
whether you can Create or Add data, Whether you can Read or Access The Data after it is saved once,
or whether you can Deteted the data along with its relationship.
* Who is servant-leader? A Scrum Master is a servant-leader whose focus is on the needs of the team members and those they serve (the customer),
with the goal of achieving results in line with the organization's values, principles, and business objectives.
http://istqbexamcertification.com/what-is-fundamental-test-process-in-software-testing/
* 1. What is fundamental test process in software testing?
ANSWER:
Testing is a process rather than a single activity. This process starts from test planning then designing test cases, preparing for execution and evaluating
status till the test closure. So, we can divide the activities within the fundamental test process into the following basic steps:
1) Planning and Control
2) Analysis and Design
3) Implementation and Execution
4) Evaluating exit criteria and Reporting
5) Test Closure activities
1) Planning and Control:
Test planning has following major tasks:
i. To determine the scope and risks and identify the objectives of testing.
ii. To determine the test approach.
iii. To implement the test policy and/or the test strategy. (Test strategy is an outline that describes the testing portion of the software development cycle.
It is created to inform PM, testers and developers about some key issues of the testing process. This includes the testing objectives, method of testing,
total time and resources required for the project and the testing environments.).
iv. To determine the required test resources like people, test environments, PCs, etc.
v. To schedule test analysis and design tasks, test implementation, execution and evaluation.
vi. To determine the Exit criteria we need to set criteria such as Coverage criteria. (Coverage criteria are the percentage of statements in the software
that must be executed during testing. This will help us track whether we are completing test activities correctly. They will show us which tasks
and checks we must complete for a particular level of testing before we can say that testing is finished.)
Test control has the following major tasks:
i. To measure and analyze the results of reviews and testing.
ii. To monitor and document progress, test coverage and exit criteria.
iii. To provide information on testing.
iv. To initiate corrective actions.
v. To make decisions.
2) Analysis and Design:
Test analysis and Test Design has the following major tasks:
i. To review the test basis. (The test basis is the information we need in order to start the test analysis and create our own test cases.
Basically it’s a documentation on which test cases are based, such as requirements, design specifications, product risk analysis, architecture and interfaces.
We can use the test basis documents to understand what the system should do once built.)
ii. To identify test conditions.
iii. To design the tests.
iv. To evaluate testability of the requirements and system.
v. To design the test environment set-up and identify and required infrastructure and tools.
3) Implementation and Execution:
During test implementation and execution, we take the test conditions into test cases and procedures and other testware such as scripts for automation,
the test environment and any other test infrastructure. (Test cases is a set of conditions under which a tester will determine whether an application
is working correctly or not.)
(Testware is a term for all utilities that serve in combination for testing a software like scripts, the test environment and any other test infrastructure
for later reuse.)
Test implementation has the following major task:
i. To develop and prioritize our test cases by using techniques and create test data for those tests. (In order to test a software application you need to
enter some data for testing most of the features. Any such specifically identified data which is used in tests is known as test data.)
We also write some instructions for carrying out the tests which is known as test procedures.
We may also need to automate some tests using test harness and automated tests scripts. (A test harness is a collection of software and test data for testing
a program unit by running it under different conditions and monitoring its behavior and outputs.)
ii. To create test suites from the test cases for efficient test execution.
(Test suite is a collection of test cases that are used to test a software program to show that it has some specified set of behaviours. A test suite
often contains detailed instructions and information for each collection of test cases on the system configuration to be used during testing. Test suites
are used to group similar test cases together.)
iii. To implement and verify the environment.
Test execution has the following major task:
i. To execute test suites and individual test cases following the test procedures.
ii. To re-execute the tests that previously failed in order to confirm a fix. This is known as confirmation testing or re-testing.
iii. To log the outcome of the test execution and record the identities and versions of the software under tests. The test log is used for the audit trial.
(A test log is nothing but, what are the test cases that we executed, in what order we executed, who executed that test cases and what is the status
of the test case (pass/fail). These descriptions are documented and called as test log.).
iv. To Compare actual results with expected results.
v. Where there are differences between actual and expected results, it report discrepancies as Incidents.
4) Evaluating Exit criteria and Reporting:
Based on the risk assessment of the project we will set the criteria for each test level against which we will measure the “enough testing”.
These criteria vary from project to project and are known as exit criteria.
Exit criteria come into picture, when:
— Maximum test cases are executed with certain pass percentage.
— Bug rate falls below certain level.
— When achieved the deadlines.
Evaluating exit criteria has the following major tasks:
i. To check the test logs against the exit criteria specified in test planning.
ii. To assess if more test are needed or if the exit criteria specified should be changed.
iii. To write a test summary report for stakeholders.
5) Test Closure activities:
Test closure activities are done when software is delivered. The testing can be closed for the other reasons also like:
When all the information has been gathered which are needed for the testing.
When a project is cancelled.
When some target is achieved.
When a maintenance release or update is done.
Test closure activities have the following major tasks:
i. To check which planned deliverables are actually delivered and to ensure that all incident reports have been resolved.
ii. To finalize and archive testware such as scripts, test environments, etc. for later reuse.
iii. To handover the testware to the maintenance organization. They will give support to the software.
iv To evaluate how the testing went and learn lessons for future releases and projects.
2.What is Software Testing Life Cycle (STLC)?
http://istqbexamcertification.com/what-is-software-testing-life-cycle-stlc/
Software Testing Life Cycle is a testing process which is executed in a sequence, in order to meet the quality goals. It is not a single activity
but it consists of many different activities which are executed to achieve a good quality product. There are different phases in STLC which are given below:
Requirement analysis
Test Planning
Test case development
Environment Setup
Test Execution
Test Cycle Closure
* 3. http://istqbexamcertification.com/what-is-maintenance-testing/
What is Maintenance Testing?
ANSWER:
Once a system is deployed it is in service for years and decades. During this time the system and its operational environment is often corrected, changed or extended. Testing that is provided during this phase is called maintenance testing.
Usually maintenance testing is consisting of two parts:
First one is, testing the changes that has been made because of the correction in the system or if the system is extended or because of some additional
features added to it.
Second one is regression tests to prove that the rest of the system has not been affected by the maintenance work.
*4. Difference between regression testing and retesting
http://istqbexamcertification.com/difference-between-regression-testing-and-retesting/
Regression testing Retesting
Regression testing is done to find out the issues which may get introduced because of any change or modification in the application.
Retesting is done to confirm whether the failed test cases in the final execution are working fine or not after the issues have been fixed.
The purpose of regression testing is that any new change in the application should NOT introduce any new bug in existing functionality.
The purpose of retesting is to ensure that the particular bug or issue is resolved and the functionality is working as expected.
Verification of bugs are not included in the regression testing.
Verification of bugs are included in the retesting.
Regression testing can be done in parallel with retesting.
Retesting is of high priority so it’s done before the regression testing.
For regression testing test cases can be automated.
For retesting the test cases cannot be automated.
In case of regression testing the testing style is generic
In case of retesting the testing is done in a planned way.
During regression testing even the passed test cases are executed.
During retesting only failed test cases are re-executed.
Regression testing is carried out to check for unexpected side effects.
Retesting is carried out to ensure that the original issue is working as expected.
Regression testing is done only when any new feature is implemented or any modification or enhancement has been done to the code.
Retesting is executed in the same environment with same data but in new build.
Test cases of regression testing can be obtained from the specification documents and bug reports.
Test cases of retesting can be obtained only when the testing starts.
* 5. What is a Defect Life Cycle or a Bug lifecycle in software testing?
ANSWER:
http://istqbexamcertification.com/what-is-a-defect-life-cycle/
The bug has different states in the Life Cycle. The Life cycle of the bug can be shown diagrammatically as follows:Defect or Bug life cycle
Bug or defect life cycle includes following steps or status:
New: When a defect is logged and posted for the first time. It’s state is given as new.
Assigned : After the tester has posted the bug, the lead of the tester approves that the bug is genuine and he assigns the bug to corresponding developer
and the developer team. It’s state given as assigned.
Open : At this state the developer has started analyzing and working on the defect fix.
Fixed : When developer makes necessary code changes and verifies the changes then he/she can make bug status as ‘Fixed’ and the bug is passed to testing team.
Pending retest : After fixing the defect the developer has given that particular code for retesting to the tester. Here the testing is pending on the testers end.
Hence its status is pending retest.
Retest : At this stage the tester do the retesting of the changed code which developer has given to him to check whether the defect got fixed or not.
Verified : The tester tests the bug again after it got fixed by the developer. If the bug is not present in the software, he approves that the bug is fixed
and changes the status to “verified”.
Reopen : If the bug still exists even after the bug is fixed by the developer, the tester changes the status to “reopened”. The bug goes through the life cycle
once again.
Closed : Once the bug is fixed, it is tested by the tester. If the tester feels that the bug no longer exists in the software, he changes the status of
the bug to “closed”. This state means that the bug is fixed, tested and approved.
Duplicate : If the bug is repeated twice or the two bugs mention the same concept of the bug, then one bug status is changed to “duplicate“.
Rejected : If the developer feels that the bug is not genuine, he rejects the bug. Then the state of the bug is changed to “rejected”.
Deferred : The bug, changed to deferred state means the bug is expected to be fixed in next releases. The reasons for changing the bug to this state have many factors. Some of them are priority of the bug may be low, lack of time for the release or the bug may not have major effect on the software.
Not a bug : The state given as “Not a bug” if there is no change in the functionality of the application. For an example: If customer asks for some change in the
look and feel of the application like change of colour of some text then it is not a bug but just some change in the looks of the application.
* 6. What is Retesting? When to use it? Advantages and Disadvantages
ANSWER:
http://istqbexamcertification.com/what-is-retesting/
*7. * What is QA & QC?
http://www.diffen.com/difference/Quality_Assurance_vs_Quality_Control
ANSWER:
Quality Assurance is <<<<process oriented and focuses on defect <<<<prevention, while
Quality control is <<<<product oriented and focuses on defect <<<<<identification.
Quality Assurance Vs Quality Control
Definition
QA is a set of activities for ensuring quality in the processes by which products are developed.
QC is a set of activities for ensuring quality in products. The activities focus on identifying defects in the actual products produced.
Focus on
QA aims to prevent defects with a focus on the process used to make the product. It is a proactive quality process.
QC aims to identify (and correct) defects in the finished product. Quality control, therefore, is a reactive process.
Goal
The goal of QA is to improve development and test processes so that defects do not arise when the product is being developed.
The goal of QC is to identify defects after a product is developed and before it's released.
How
QA Establish a good quality management system and the assessment of its adequacy. Periodic conformance audits of the operations of the system.
QC Finding & eliminating sources of quality problems through tools & equipment so that customer's requirements are continually met.
What
QA Prevention of quality problems through planned and systematic activities including documentation.
Qc The activities or techniques used to achieve and maintain the product quality, process and service.
Responsibility
Everyone on the team involved in developing the product is responsible for quality assurance.
Quality control is usually the responsibility of a specific team that tests the product for defects.
Example
Verification is an example of QA
Validation/Software Testing is an example of QC
Statistical Techniques
Statistical Tools & Techniques can be applied in both QA & QC. When they are applied to processes (process inputs & operational parameters),
they are called Statistical Process Control (SPC); & it becomes the part of QA.
QC When statistical tools & techniques are applied to finished products (process outputs), they are called as Statistical Quality Control (SQC)
& comes under QC.
As a tool
QA is a managerial tool
QC is a corrective tool
Orientation
QA is process oriented
QC is product oriented
* What is verification and validation?
--------------------------------------
ANSWER:
http://softwaretestingfundamentals.com/verification-vs-validation/
VERIFICATION vs VALIDATION
Criteria Verification Validation
Definition :
Ver : The process of evaluating work-products (not the actual final product) of a development phase to determine whether they
meet the specified requirements for that phase.
Val : The process of evaluating software during or at the end of the development
process to determine whether it satisfies specified business requirements.
Objective :
Ver : To ensure that the product is being built according to the requirements and design specifications.
In other words, to ensure that work products meet their specified requirements.
Val : To ensure that the product actually meets the user’s needs, and that the specifications were correct in the first place.
In other words, to demonstrate that the product fulfills its intended use when placed in its intended environment.
Question :
Ver : Are we building the product right?
Val : Are we building the right product?
Evaluation Items :
Ver : Plans, Requirement Specs, Design Specs, Code, Test Cases
Val : The actual product/software.
Activities:
Ver : • Reviews
• Walkthroughs
• Inspections
Val :
• Testing
* What is SDLC ?
----------------
ANSWER:
https://www.tutorialspoint.com/sdlc/sdlc_overview.htm
SDLC, Software Development Life Cycle is a process used by software industry to design, develop and test high quality softwares.
The SDLC aims to produce a high quality software that meets or exceeds customer expectations, reaches completion within times
and cost estimates.
SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop,
maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software
and the overall development process.
The following figure is a graphical representation of the various stages of a typical SDLC.
Stage 1: Planning & Requirement Analysis
Stage 2: Defining Requirement
Stage 3: Designing the product architecture
Stage 4: Building or Developing the Product
Stage 5: Testing the Product
Stage 6: Deployment in the Market and Maintenance
SDLC models followed in the industry:
------------------------------------
Waterfall Model
Iterative Model
Spiral Model
V-Model
Big Bang Model
The other related methodologies are Agile Model, RAD Model, Rapid Application Development and Prototyping Models.
What is the compentency (Efficiency)of the tester?
----------------------------
ANSWER:
Find the defect at the earliy stage of developement.
ER==AR to stop testing.
Where do the tester play the role in developement stage and Testing stage?
----------------------------
ANSWER:
The role of a software tester in an Agile environment goes beyond “just testing” and logging bugs. It is more working as part of a development team
and working closely with the product owner. The tester works with everyone in the team in order to improve and build quality into the
product as early as possible
In a non-Agile environment, the role of a tester includes analysis, test-scripts design, and execution. He is involved right from the project initiation
stage up to when it is closed, but in an Agile environment his role primarily is to work as part of a development team, and to ensure that quality is
built into a product by working closely with the product owner. This helps a tester get more details out of the story cards -- it will be difficult for
the development team to meet the acceptance criteria and consider a story "done" if the tester does not engage the product owner.
1. Communication
Agile principle: The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
A tester communicates more in an Agile environment; usually he becomes very communicative within the team without even realizing it.
2. Technical
Agile principle: Continuous attention to technical excellence and good design enhances agility.
3. Absolute Role
Agile Manifesto: Individuals and interactions over processes and tools.
4. Detect ambiguity
One major responsibility of testers in Agile is to help describe the features. Before the feature or user story goes into development,
the tester (and others) meet with the product owner to discuss what is on the story card. The goal of the conversation is to create an
opportunity for a good understanding of what the product owner wants. Skilled testers can be of great help here as they are capable of
detecting and recognizing ambiguity even before testing begins.
5. Automation skill
It is great for a tester to have automation (programming) skills; they can help turn user stories into automated test scripts in development
-- but not all testers have the skill. Lack of test automation skill therefore cannot be a determinant, but is essential that a tester picks
up this skill as soon as he can in the spirit of contributing to a cross-functional development team.
* What is test strategy?
----------------------------
ANSWER:
A test strategy is an outline that describes the testing approach of the software development cycle. It is created to inform project managers,
testers, and developers about some key issues of the testing process.
* What is test Plan?
----------------------------
ANSWER:
http://www.softwaretestinghelp.com/test-plan-sample-softwaretesting-and-quality-assurance-templates/
TABLE OF CONTENTS
1.0 INTRODUCTION
2.0 OBJECTIVES AND TASKS
2.1 Objectives
2.2 Tasks
3.0 SCOPE
4.0 Testing Strategy
4.1 Alpha Testing (Unit Testing)
4.2 System and Integration Testing
4.3 Performance and Stress Testing
4.4 User Acceptance Testing
4.5 Batch Testing
4.6 Automated Regression Testing
4.7 Beta Testing
5.0 Hardware Requirements
6.0 Environment Requirements
6.1 Main Frame
6.2 Workstation
7.0 Test Schedule
8.0 Control Procedures
9.0 Features to Be Tested
10.0 Features Not to Be Tested
11.0 Resources/Roles & Responsibilities
12.0 Schedules
13.0 Significantly Impacted Departments (SIDs)
14.0 Dependencies
15.0 Risks/Assumptions
16.0 Tools
17.0 Approvals
* What is Estimation?
----------------------------
ANSWER:
Triple point estimation
The three-point estimation technique is used in management and information systems applications for the construction of an approximate probability distribution
representing the outcome of future events, based on very limited information. While the distribution used for the approximation might be a normal distribution,
this is not always so and, for example a triangular distribution might be used, depending on the application.,[1]
In three-point estimation, three figures are produced initially for every distribution that is required, based on prior experience or best-guesses:
a = the best-case estimate
m = the most likely estimate
b = the worst-case estimate
Estimation:-
Based on the assumption (note: assumption) that a double-triangular distribution governs the data, several estimates are possible.
These values are used to calculate an E value for the estimate and a standard deviation (SD) as L-estimators, where:
E = (a + 4m + b) / 6
SD = (b - a) / 6
* When to start testing?
----------------------------
In what phase or stage of the project should QA testing start?
ANSWER:
There are various aspects of tests.
They are defined and run at all phases across Software Development Life Cycle (SDLC):
Acceptance Tests are defined just at the same time with Business Requirements - e.g. they are defined at the very beginning of an SDLC and run at the very end;
System Tests are defined along with SRS and are usually run for each alpha/local release;
Integration Tests are "mid-range" tests for components; They are defined and run pretty often, e.g. on weekly scrums;
and so on, till the very low-level Unit Tests that are defined and run on practically the same time;
So the answer to your question:
***** You should define and run different types of your tests at all phases of entire SDLC.
CUSTOMER SERVICE Service Requests Generate Debit Card PIN
* How to selecet the application for testing?
----------------------------------------------
ANSWER:
https://www.tutorialspoint.com/qtp/qtp_test_automation_process.htm
Automated Testing Process:
For any automated tool implementation, the following are the phases/stages of it. Each one of the stages corresponds to a particular activity
and each phase has a definite outcome.
1. Test Automation Feasibility Analysis - First step is to check if the application can be automated or not. Not all applications can be
automated due to its limitations.
2. Appropriate Tool Selection - The Next most important step is the selection of tools. It depends on the technology in which the application
is built, its features and usage.
3. Evaluate the suitable framework - Upon selecting the tool the next activity is to select a suitable framework. There are various kinds
of frameworks and each framework has its own significance. We will deal with frameworks in detail later this chapter.
4. Build the Proof of Concept - Proof of Concept(POC) is developed with an end to end scenario to evaluate if the tool can support the automation
of the application. As it is performed with an end to end scenario which will ensure that the major functionalities can be automated.
5. Develop Automation Framework - After building the POC, framework development is carried out, which is a crucial step for the success of any
test automation project. Framework should be build after diligent analysis of the technology used by the application and also its key features.
6. Develop Test Script, Execute and Analyze - Once Script development is completed, the scripts are executed, results are analyzed and defects
are logged, if any. The Test Scripts are usually version controlled.
* 2. Vulnerable testing? ( Security Testing - will be done on all layers. )
ANSWER:
Fishing - Creating junks email and hacking the Credcredential; blocking; decoding; Injections
* 3. Where is the Delphi Technique Used?
ANSWER:
The Delphi Method is useful in 2 scenarios.
1. When there are many experts involved, and consensus is not likely to happen quickly.
2. When the experts are geographically spread out, and it is difficult to get them into a room to discuss,
brainstorm and come up with the best strategy.
Where is the Delphi Technique used for the PMP exam preparation?
The Delphi technique is actually one of the Group Decision-Making Techniques. It is used in
Time Management > Estimate Activity Duration
Cost Management > Estimate Costs
Risk Management > Identify Risks
* What is COTS integration?
http://www.slideshare.net/saransh241/cots-integration
https://en.wikipedia.org/wiki/Commercial_off-the-shelf
ANSWER:
Slide 4 -5 ( Adaptation, Assembley and Upgrade).
Commercial off-the-shelf (COTS) is a term used to describe the purchase of packaged solutions which are then adapted
to satisfy the needs of the purchasing organisation, rather than the commissioning of custom made, or esposos, solutions.
* How to write effective Test cases, procedures and definitions
ANSWER:
http://www.softwaretestinghelp.com/how-to-write-effective-test-cases-test-cases-procedures-and-definitions/
What is a test case?
“A test case has components that describes an input, action or event and an expected response, to determine if a feature of an application is working correctly.”
There are levels in which each test case will fall in order to avoid duplication efforts.
Level 1: In this level you will write the basic test cases from the available specification and user documentation.
Level 2: This is the practical stage in which writing test cases depend on actual functional and system flow of the application.
Level 3: This is the stage in which you will group some test cases and write a test procedure. Test procedure is nothing but a group of small test cases
maximum of 10.
Level 4: Automation of the project. This will minimize human interaction with system and thus QA can focus on current updated functionalities to test
rather than remaining busy with regression testing.
So you can observe a systematic growth from no testable item to a Automation suit.
Why we write test cases?
The basic objective of writing test cases is to validate the testing coverage of the application. If you are working in any CMMi
company then you will strictly follow test cases standards. So writing test cases brings some sort of standardization and minimizes the ad-hoc approach in testing.
------------
How to write test cases?
Here is a simple test case format
Fields in test cases:
Test case id:
Unit to test: What to be verified?
Assumptions:
Test data: Variables and their values
Steps to be executed:
Expected result:
Actual result:
Pass/Fail:
Comments:
So here is a basic format of test case statement:
Verify
Using [tool name, tag name, dialog, etc]
With [conditions]
To [what is returned, shown, demonstrated]
Verify: Used as the first word of the test case statement.
Using: To identify what is being tested. You can use ‘entering’ or ‘selecting’ here instead of using depending on the situation.
For any application basically you will cover all the types of test cases including functional, negative and boundary value test cases.
Keep in mind while writing test cases that all your test cases should be simple and easy to understand. Don’t write explanations like essays. Be to the point.
* What is Test Plan V/s Test Strategy?
http://www.guru99.com/test-plan-v-s-test-strategy.html
Test Plan Test Strategy
A test plan for software project can be defined as a document that defines the scope, objective, approach and emphasis on a software testing effort
Test strategy is a set of guidelines that explains test design and determines how testing needs to be done
Components of Test plan include- Test plan id, features to be tested, test techniques, testing tasks, features pass or fail criteria, test deliverables, responsibilities, and schedule, etc.
Components of Test strategy includes- objectives and scope, documentation formats, test processes, team reporting structure, client communication strategy, etc.
Test plan is carried out by a testing manager or lead that describes how to test, when to test, who will test and what to test
A test strategy is carried out by the project manager. It says what type of technique to follow and which module to test
Test plan narrates about the specification
Test strategy narrates about the general approaches
Test plan can change
Test strategy cannot be changed
Test planning is done to determine possible issues and dependencies in order to identify the risks.
It is a long-term plan of action.You can abstract information that is not project specific and put it into test approach
A test plan exists individually
In smaller project, test strategy is often found as a section of a test plan
It is defined at project level
It is set at organization level and can be used by multiple projects
* What is I tier, II tier and III Tier architecture?
ANSWER:
-------
http://www.softwaretestingclass.com/what-is-difference-between-two-tier-and-three-tier-architecture/
Two-Tier Architecture :
------------------------
The two-tier is based on Client Server architecture. The two-tier architecture is like client server application. The direct communication
takes place between client and server. There is no intermediate between client and server. Because of tight coupling a
2 tiered application will run faster.
The Two-tier architecture is divided into two parts:
1) Client Application (Client Tier)
2) Database (Data Tier)
Advantages:
Easy to maintain and modification is bit easy
Communication is faster
Disadvantages:
In two tier architecture application performance will be degrade upon increasing the users.
Cost-ineffective
Three-Tier Architecture:
------------------------
Three-tier architecture typically comprise a presentation tier, a business or data access tier, and a data tier. Three layers in the three tier architecture
are as follows:
1) Client layer
2) Business layer
3) Data layer
1) Client layer:
It is also called as Presentation layer which contains UI part of our application. This layer is used for the design purpose where data is presented
to the user or input is taken from the user. For example designing registration form which contains text box, label, button etc.
2) Business layer:
In this layer all business logic written like validation of data, calculations, data insertion etc. This acts as a interface between Client layer
and Data Access Layer. This layer is also called the intermediary layer helps to make communication faster between client and data layer.
3) Data layer:
In this layer actual database is comes in the picture. Data Access Layer contains methods to connect with database and to perform insert,
update, delete, get data from database based on our input data.
* ANSWER:
-------
* http://www.codeproject.com/Questions/211552/Difference-Between-tier-tier-tier-Architech
Difference between 1-tier/2-tier & 3-tier architecture are as follows:
"Tier" can be defined as "one of two or more rows, levels, or ranks arranged one above another".
1-Tier Architecture is the simplest, single tier on single user, and is the equivalent of running an application on a personal computer. All the required
component to run the application are located within it. User interface, business logic, and data storage are all located on the same machine. They are the
easiest to design, but the least scalable. Because they are not part of a network, they are useless for designing web applications.
2-Tier Architectures supply a basic network between a client and a server. For example, the basic web model is a 2-Tier Architecture. A web browser makes
a request from a web server, which then processes the request and returns the desired response, in this case, web pages. This approach improves scalability
and divides the user interface from the data layers. However, it does not divide application layers so they can be utilized separately. This makes them difficult
to update and not specialized. The entire application must be updated because layers aren’t separated.
3-Tier Architecture is most commonly used to build web applications. In this model, the browser acts like a client, middleware or an application server contains
the business logic, and database servers handle data functions. This approach separates business logic from display and data.
So the 3 layers commonly known as : Presentation Layer(PL/UI),Business Logic Layer(BLL) & Data Access Layer(DAL).
* What is CRUD testing and how does a tester test this?
CRUD testing is actually Black Box testing. CRUD stands for (Create, Read, Update, Delete). I.e.
whether you can Create or Add data, Whether you can Read or Access The Data after it is saved once,
or whether you can Deteted the data along with its relationship.
* Who is servant-leader? A Scrum Master is a servant-leader whose focus is on the needs of the team members and those they serve (the customer),
with the goal of achieving results in line with the organization's values, principles, and business objectives.
No comments:
Post a Comment