Software Quality Assurance Assignment
Software Quality Assurance Assignment
Concept: -
What Is Quality?
The objective of software quality confirmation is obviously to convey quality software. Quality
of software, other than being without bug (the aftereffect of exhaustive software testing), is
conveyed on schedule, meets the desires for all parties included including end-clients, is
conveyed inside the expressed budget, and is anything but difficult to keep up and update over
the long periods of time
Since the meaning of value is abstract contingent upon who characterizes it, software quality
assurance may take in input from various territories of the undertaking, including end-clients,
bosses and supervisors, the IT division liable for keeping up the product, the CFO who is
responsible for paying for its turn of events, or, on account of business software being
conveyed to people in general, criticism from the media, VARs and different resellers, and
clients.
Quality Assurance (QA) goes past the essential testing of software for imperfections and
incorporates the whole procedure of software advancement. Albeit quality assurance testing
consolidates the coding procedure, it likewise incorporates best practices and systems inside
different territories, for example, the structure itself that happens preceding coding, change
and arrangement the board, overseeing resulting arrivals of the product, and command over
the source code. Quality assurance screens and improves the start to finish process.
The general way of thinking of quality assurance varies from standard software testing and
debugging, which just endeavors to discover defects and fix them. Quality assurance is
progressively proactive and is outfitted towards setting up great practices all through the whole
advancement lifecycle with the goal that defects and bugs are more averse to exist in any case.
Software testing is an enormous piece of development; however, software testing is responsive
instead of proactive. Testing looks at how a framework works under controlled conditions,
s
forcing standard and non-standard conditions to decide if the outcomes are suitable or
anticipated. To clarify the contrast between software testing and quality assurance, one could
state that product testing is for identifying imperfections, while quality assurance is for
preventing flaws. In some improvement gatherings, quality assurance and testing might be the
space of a solitary gathering of developers, while in other (perhaps bigger) gatherings, the
quality assurance will be a separate domain, ordinarily allocated to a venture administrator.
The quality assurance testing instruments will guarantee that those measures are being clung
to consistently. Various Kinds of Software Assurance Techniques includes: -
Make an arrangement for how you will do the Software Quality Assurance all through the
project. Think which set of software engineering activities is the best for the project. Check the
level of Software Quality Assurance team skills.
Software Quality Assurance group should set checkpoints. Assess the performance of the
project based on gathered information on various checkpoints.
Try not to rely upon a solitary testing approach. At the point when you have plenty of testing
approaches, accessible use them.
The progressions for adjusting a blunder now and then reintroduce more mistakes keep the
proportion of the effect of progress on the project. Reset the new change to change check the
compatibility of this fix with the entire whole project.
In the workplace dealing with a decent connection with different groups engaged with the task,
advancement is required. Awful relations of the team Software Quality Assurance with the
programmer's team will affect straightforwardly and severely on the project. Don’t play politics.
The following are a couple of suggested Quality Assurance testing tools for each category of
testing that might be helpful to you or your Quality Control team.
❖ Test Management Tools
These tools help quality assurance engineers take a gander at the prerequisites and
appropriate proper experiments for them. The tools help with test case creation, planning,
s
and execution. When executed, the test management tools make and track bugs against
requirements.
On the off chance that automated tests, these tools integrate into the tests to capture results
automatically. For manual testing, a quality analyst should record results manually. Two tools
that can be used for test management are:
1. Mantis Bug Tracker- This open-source test management tool is easy to utilize and
allows teammates to work together. This tool has custom fields for test cases, allows
the user to control the access rights of various users, and incorporates email notices
for issues/updates/comments.
2. TestCollab or IBM Rational Quality Manager- This proprietary tool oversees and
plans plan test cases alongside producing in-depth reports of the test execution
statuses. This tool integrates with various other bug management tools as well.
❖ Functional Testing Tools
These tools empower the quality assurance engineer to test the individual features pieces of
software and afterward report errors to the development team. These tools can enable
automated testing or manual testing. Popular functional testing tools are:
Selenium – This includes two ways to test functionality
1. Selenium WebDriver- This enables computerizes testing to make functional tests and
regression automation test suites. These scripts can be executed in different
environments simply like some other bit of software. These scripts can also work on
multiple browsers.
2. Selenium IDE- Quality Assurance can record a progression of steps to execute on a
browser multiple times and aides in exploratory testing.
These tools help test the administration layer or APIs. Input parameters can be given by the
Quality Assurance engineer to guarantee the output parameters run as expected. This enables
any developer or partner to attempt to integrate with your product to test the API’s too.
s
Postman- This is a lightweight API testing tool that can be utilized both by API developers,
Programming interface integrators, and a Quality Assurance team searching for snappy answers
during the testing stage.
Apiary- With the utilization of a markdown language, Apiary guides both testing and
advancement of APIs. This tool includes testing scripts, validations, and code samples for the
API’s as well.
Unit testing tools are intended to test individuals’ bits of the code and are commonly utilized
by developers to test functionality and code quality. These tools guarantee that the developer
has done his/her due diligence so Quality Assurance gets a superior quality app to test. These
tools generally rely upon the language that the product is being developed in.
JUnit, NUnit, PHPUnit– These are unit testing languages for Java, .Net, and PHP.
SonarQube, Code Coverage – These tools guarantee quality management on the code itself,
which thusly influences the nature of the product and bugs in the Quality Assurance cycle.
These tools check duplicated code, coverage of written code based on the unit tests, verifies
code against coding standards, and the sky is the limit from there.
The growing number of browsers and devices is an on-going challenge for Quality Assurance
personnel. These tools enable cross-browser testing across multiple browsers and OS
versions.
Sauce Labs– This service, alongside Selenium, runs automated scripts in different browsers
including both desktop and mobile browsers. The service catches screen captures and makes
reports that help recognize browser explicit bugs.
Browser Stack– Like Sauce Labs, this service enables testing across both desktop and mobile
browsers.
Mobile apps length over different device operating system renditions and various screen
resolutions, making the Quality Assurance cycle troublesome. The buying scope of real
devices to test gets unrealistic and tedious too. There are a few tools to look over that can
eliminate this issue:
s
Device Emulators– While emulators are not perfect for all testing, they are free and
effectively accessible. The emulators that are given by Google or Apple can duplicate a wide
range of devices and resolutions making it simpler to test apps.
Amazon Device Farm- This service enables a client to upload an app to an Android or Fire
OS and test it on real devices to get testing results. While this service works on the number
of hours you spend testing on a real device, it additionally has a test trial of 250 device
minutes for free. This is a potential alternative to testing Android apps.
DeviceAnywhere- This service lets you test on real devices for both Android and iOS. This
has a free and paid version. The free version that accompanies limited functionality
provides a base to begin testing.
Each product has a tipping moment when the performance of the app begins going
down. These performance testing tools let you decide how scalable and reliable your
application is. It simulates users in a conveyed environment to test your app and
loads tests to give information that focuses on what number of concurrent users can
your application support or the maximum and minimum response time on your
application. A couple of tools that performance testing are:
Soasta Cloud Test- This test virtual users across different areas to test rapidly and continuously
at any scale. The test gives real-time insights into the performance of your application. This
additionally permits Quality Assurance to design and execute a load test from a single
environment. This service has a lite version that tests 100 virtual users and an on-request paid
variant that tests any measure of virtual users.
Load Runner- This service accesses the performance of both browser -based
applications and native mobile applications. It runs tests from numerous locations
just as running testing in the cloud. This service is integrated into your development
environment.
Certifications: -
The International Software Testing Qualifications Board (ISTQB) is a non-proprietary organization
that has granted more than 500,000 software testing certifications in more than 100 countries
around the globe. ISTQB certification demonstrates a knowledge of software testing and is based
on guidelines that are applied consistently across the world.
Level certification is designed for software professionals who need to demonstrate practical
knowledge of the fundamental concepts of testing—test designers, test analysts, test
engineers, test consultants, test managers, user acceptance testers, and developers—as well as
those who need a basic understanding of software testing, such as project managers, quality
managers, development managers, business analysts, IT directors, and management
consultants. Holders of the Foundation Level certificate are also eligible to continue on to
advanced-level software testing qualifications and to qualify their competencies in agile testing.
Working in an agile environment? The ISTQB also offers an Agile Tester Foundation Extension,
for those who already hold an ISTQB Foundation Level certification. Agile Tester Certification is
an accredited course to prepare CTFL holders for the Agile Extension exam.
ASTQB’s Mobile Tester Certification exam was created using the latest mobile testing standards.
The certification is based on the ASTQB Mobile Tester syllabus (body of knowledge) that was
created by a group of international experts. Mobile Application Testing is an ASTQB accredited
course for the Mobile Tester Certification exam.
Advanced Level certification is aimed at professionals who have achieved an advanced point in
their careers in software testing. This includes such roles as testers, test analysts, test engineers,
test consultants, test managers, user acceptance testers, and software developers. The advanced
certification scheme is divided into a long career tracks: Test Manager (CTAL-TM), Test Analyst
(CTAL-TA), Technical Test Analyst (CTAL-TTA), Test Automation Engineer (CTAL-TAE), and Security
Tester (CTAL-ST).