Upload
shamain-peiris
View
346
Download
2
Embed Size (px)
Citation preview
SOFTWARE QA FUNDAMENTAL
Present By: Prabath Darshana
1.What is software Quality Assurance ? Software QA is a process used to ensured the
correctness , completeness and quality of developed computer software match with the expected results
2.Why we are need software QA ?
To ensure the reliability of the software To ensure that users are capable of using the software To ensure that software meets its requirement To ensure software works with other software and
hardware it needs to work with To be ensure that software doesn’t contain any bug
which can vulnerable to the software.
3.What are the type of methods ? Black box testing White box testing Grey box testing
3.1 What is black box testing ? Black box testing is a method that examine the
functionality of an application without knowing the internal structure of the application.
3.2 What is white box testing ? White box testing is a method that testing performed
based on the knowledge of how the system is implemented. that's includes data flow , control flow and coding practices. White box testing requires access to the source code.
3.3 What is grey box testing ? Grey box testing is a method that performed combine
with black box testing and white box testing. That mean in grey box testing , the internal structure is partially known.
4.Types of testing ?
Manual Testing Automated Testing
4.1 What is Manual testing ?
Manual testing is a testing type which is not using any automated tool or script for do the testing process.in this type , the tester will lead as a end user and tester for test the software to identify the any bug or unexpected behaviours.
4.2 What is Automated testing ? Automated testing is a testing type perform using
automation testing tools and writing scripts by tester. When to automate ?
Large and critical projectsProjects that require testing the same areas
frequentlyRequirement not changing frequentlyAccessing the application for load and performance
with many users
4.3 Manual Testing Vs. Automated TestingManual Testing Time Consuming High investment for human
hours Less reliable Non-programmable Not expensive
Automated Testing Time Saving Less investment for human
hours More reliable Programmable Expensive
5. What is testing levels ?
The main levels of software testing are :Functional Testing Non-functional Testing
5.1 What is functional testing ?
This is a type of black-box testing that is based on the specification of the software that is to be tested. The application will be tested by providing input and then the results are examined. Functional testing of a software will be conducted on a complete , integrated system to evaluate the system’s compliance with its specified requirements.
5.1.1 Five steps , that are testing an application for functionality The determination of the functionality the intended
application is meant to perform The creation of test data based on the specification of
the application The output based on the test data and the specification
of the application The writing of test scenarios and the execution of test
cases The comparison of actual and expected results based
on the executed test cases
5.1.2 What is unit testing ?
Unit testing is a level of the software testing process where individual units/components of a system are tested. The purpose is to validate that each unit of the software performs as designed.
This testing is performed by developers before the setup is handed over to the testing team to execute the test cases.
Unit Testing tool: Junit, TestNG ,Nunit ,Aunit
5.1.3 What is Integration Testing ?
Integration testing is performed the combine individual tested unit as a one .Integration testing can identifies the problems that occur when the individual units are combined. Integration testing is done after unit testing.
5.1.3.1What is integration testing method? Bottom-up approach- in this approach testing is conducted
from sub module to main module. The process is repeated until the module at the top of the hierarchy is tested. Bottom –up approach testing facilitates efficient error detection.
Top-down approach – in this approach testing is conducted from main module to sub module. Sub modules are tested individually .top-down approach facilitates detection of lost module branch link
Big ban approach- involves integrating the modules to build complete software system .In this approach all the modules are integrated simultaneously and everything tested as a whole.
5.1.4 What is System testing ?
This testing is performed after integration testing .using system testing we can verify the functionality of the whole application. Also by performing system testing as whole we confirm the system or software meets the functional and technical specifications.
5.1.5 What is Regression Testing ? If some changes or bug fixed happened in software
application it might be affected to other functions so using that testing we can verify that changes or bug fixed hasn’t affected in another functionality or business rule violation.
Sanity testing :After competition of regression test sanity test is started to check the bug fixed and changes done in the software application is not breaking the core functionality of the software application. So this is a subset of regression testing but some time this perform as subset of acceptance test because some time sanity testing execute while releasing the software.
5.1.6 What is Acceptance Testing ?
Acceptance testing is most popular “ Black box “ testing method. This is conducted by the QA team assure whether application meets or not the deliverables according to the BRS( business requirement specifications ) and client’s requirement for application will perform in production .
UAT(User Acceptance Test) also same like this but UAT is performed by client or person who are handle the live system once it delivered.
5.1.7 What is alpha testing ? Alpha testing is combination of unit testing , integration
testing and system testing and it would be executed before deploy the software. This typically performed by internal employees and done in a lab environment so that user actions can measures and analysed following aspects:
Spelling mistakesBroken linksAny other bugs
5.1.8 What is a smoke testing ?
Smoke testing is typically executed by testers after every build is received for checking the build is in testable condition. Its verify the main functionality but not in deep. This type of testing is applicable in the integration testing , system testing and acceptance testing.
5.1.9 What is beta testing ?
This testing is comes after the alpha testing .Actually this test is calling as a pre-release testing .sometime beta version of application will be release to the general public during this phase. This process helps identify defects that were missed during the formal test plan, and helps configure the customer support resources and processes that will be needed post-launch.
5.2 What is non-functional testing ?
Non-functional testing involves testing a software from the requirements which are performance, Load, GUI , Security, etc.
5.2.1 What is performance testing ? Using performance testing we check the following
aspects:SpeedCapacityStabilityScalabilityPerformance testing can be divided into different sub types such as
Load testingStress testing
5.2.1.1 What is load testing ? Load testing is monitoring the behaviour of the application by
increasing or decreasing the load on the application that mean number of user .so this can identify maximum capacity of the software and its behaviour on a peak time. Generally load testing is performed by using automation tools such as :
Apache JmeterLoad RunnerSilk performer etc.
5.2.1.2 What is stress testing ? Stress testing is a form of software testing that
determines the stability of a system and an applications robustness, availability and reliability under abnormal operational capacity. Examples: vulnerable virus attack , try to hack the system , unexpected sequencing , disk drive failure and large number of users accessing the same time or large number of data input in a same time.
The idea is to stress testing to the breaking point in order to find bugs that will make that break potentially harmful.
5.2.2 What is usability testing ?
Usability testing is a black box testing which is used to identify any errors and improvements in the software by observing the through their usage and operations.
Usability testing is the quality requirement that can be measured as the outcome of interactions with a computer system. This requirement can be fulfilled and end user will be satisfied if the executed goals are achieved effectively with the use of proper resources.
5.2.3 What is security testing ?
Security testing is the testing the application for unauthorized access.
The following are main aspects that security testing should ensure:
Confidentially , authorization , authentication ,integrity ,availability ,SQL insertion attacks ,software data is secure , input checking and validation ,etc.
5.2.4 What is portability testing ?
Portability testing includes testing a software with the aim to ensure its reusability and that it can be moved from another software so portability testing we can considered as a one of the sub part of the system testing. Following are the strategies that can be used for portability testing :Transferring an installed software from one computer to
anotherBuilding executable (.exe) to run the software on
different platforms
6. What is Ad-hoc testing ?
Ad-hoc testing is the process of testing in which testing is performed without any plan or test cases.in this testing process we don’t follow any rules.so this testing is generally followed by the tester who has good knowledge about the product which tester is going to test.
7. Software Testing on SDLC(Software Development life Cycle There are few SDLC but following mentioned models
are mostly use in the testing Agile methodologyWaterfall modelV-model
7.1 What is Agile Methodology? Agile is speed up your testing and development activity.
Agile methodology should be performed from the starting of the project and should carry out till the project go live .the most important parts in agile are scrum meeting and sprint planning.
7.1.1 What is Scrum meeting ? Scrum is a kind of short time meeting done every day
and we discuss about every day work. Following aspects we are planning
Total time duration: we are discussing total time duration for each sprint to test and development. On daily basis we track the press of each task assigned.
Identifying the risk: we are discussing risk analysis during the each sprint .
Cost: we are discussing cost analysis because if testing time or development time will exceed will it effect to the allocated cost or not.
Resources: how many resources required to do testing for each sprint
7.1.2.What is sprint planning ?
Sprint is a part of a scrum meeting .each task we are called sprint.in scrum meeting we set our sprint planning. Once sprint planning is done we discuss on daily basis about the progress of particular sprint and sprint backlog in sprint meeting. Back log is a list of task list to be completed and assigned to the individuals.
7.2 What is water fall model? Waterfall model followed in the sequential order and so
we move to next step of testing if the previous step completed in successfully.in here we cant revert back to previous stem. This good for the small projects.
7.3 What is V-model? V-model(verification and validation) testing should
follow some sequence. This should be followed during performing test approach. Test execution sequence are followed in v shape. This testing starts on beginning of the project and continue parallel with the development.
Steps in v-modelUnit testingIntegration testingSystem testingAcceptance testing
7.3.1 V-model architecture
8. What is a bug ? Bug is an issue in the program that prevents it from operating properly.
Bug is getting a problem at the time of unit testing. Bug tracking tools: JIRA ,Bugzilla and mantis
What is the different between bug ,defect and error?A bug is getting a problem at the unexpected time of unit testing done
by the developer or module testing by the tester . Defect is a problem that got a customer in production time .as well as that can be found when the client or user is testing and its different with the client requirement specifications. Error is happen when the application runs without any issues under normal circumstances but its misbehave after few months or after performed lot of transaction , then we call the error.
9. What is a Test plan ? Test plan is a document which described the scope ,
approach ,resources and scheduled of intended test activities. Following are includes in test plan
introduction to the Test Plan document Assumptions while testing the application List of test cases included in testing the application List of features to be tested What sort of approach to use while testing the software List of deliverables that need to be tested The resources allocated for testing the application Any risks involved during the testing process A schedule of tasks and milestones to be achieved
10. What is a test cases ?
Test case is the detail of a project or module or functionality of a project which contains each step that you follow to execute the project.it contains positive scenarios only so that any one can follow each step written in test case and understand the project or module of the project.
11. What is a difference between test cases and test check list? Test Cases The test cases contains
only the positive scenarios
Better for the large projects
Test Check list The test check list
contains both possible negative and positive scenarios.
Better for the small projects
12.What is test metrics ? The objective of test metrics is to capture the planned
and actual quantities the effort , time , resources required to complete all the phases of testing of the software project. There are two types of test metrics such as :
Process metrics:measuring the characteristics of method ,tools and techniques employed in developing ,implementing and maintaining the software system.
Product metrics:measure the characteristics of the documentation
and code
13.Testing tools
Performance Testing Tools Jmeter HP Load Runner
Functional Testing Tools Selenium SoapUi Badboy Watir
Thank you!!!!!!!!!!!!!!!!!!