0% found this document useful (0 votes)
106 views

Quality Engineering

Software quality engineering (SQE) ensures high quality software through quality checks throughout the development cycle. The goals of SQE are process control, standards/metrics implementation, test plan development, issue identification, and corrective action follow up. Software testing provides benefits like better quality, customer satisfaction, increased sales, and reduced costs. A test plan details the test strategy, objectives, schedule, deliverables, and resources. Types of tests include unit, contract, integration, end to end, UI, performance, security, and load/stress tests.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
106 views

Quality Engineering

Software quality engineering (SQE) ensures high quality software through quality checks throughout the development cycle. The goals of SQE are process control, standards/metrics implementation, test plan development, issue identification, and corrective action follow up. Software testing provides benefits like better quality, customer satisfaction, increased sales, and reduced costs. A test plan details the test strategy, objectives, schedule, deliverables, and resources. Types of tests include unit, contract, integration, end to end, UI, performance, security, and load/stress tests.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Software Quality

Engineering
What is Software Quality
Engineering

Software quality engineering (SQE) is the process of implementing quality checks


throughout the entire development cycle. SQE plays a key role in ensuring fast-paced
agile and DevOps teams produce high-quality software.

2
The primary goals of software quality engineering are:

▰ Process control and oversight


▰ Implementing standards and metrics
▰ Test plan development
▰ Identification of issues
▰ Follow-up to ensure corrective actions

3
Software Testing
Benefit of Software Testing

- Better Quality Products


- Customer Satisfaction/ Improve User Experience
- Increase Sales
- Cut Costs

4
Test Plan (Launch plan)

A Test Plan is a detailed document that describes the test strategy, objectives, schedule,
estimation, deliverables, and resources required to perform testing for a software
product. This include:

- Test cases/ Test scenarios


- Test environment
- Release Criteria Checklist
- Issues found during testing
Types of Tests
Unit tests
A unit test is a way of testing a unit - the smallest piece of code that can be logically isolated in a
system. In most programming languages, that is a function, a subroutine, a method or property.
unit tests usually test reusable parts of a code that aren't surfaced as API endpoints.
Tools: Mocha, Chai, junit, etc

Contract Tests
Contract tests are the next level up from unit tests. Contract testing is a methodology for ensuring
that two separate systems (such as two microservices) are compatible with one other. It captures the
interactions that are exchanged between each service, storing them in a contract, which can then be
used to verify that both parties adhere to it
Tools: API Blueprint, RAML, OpenAPI, Pact

6
Integration Tests
Integrations are similar in nature to contract tests except they run in a deployed
environment and test that all the system components are working together as
expected.

End to End Tests


End to end testing (E2E testing) refers to a software testing method that involves testing an
application's workflow from beginning to end. This method basically aims to replicate real user
scenarios so that the system can be validated for integration and data integrity.

UI Tests
A mechanism meant to test the aspects of any software that a user will come into contact
with. This usually means testing the visual elements to verify that they are functioning according to
requirements

7
Performance Testing
is a software testing process used for testing the speed, response time, stability, reliability,
scalability and resource usage of a software application under particular workload.

Types of Performance Testing:


- Load Testing/Stress Testing
- Spike testing
- Volume testing (usually for database)
- Scalability testing

8
Type of Software Testing that uncovers vulnerabilities of the system and determines that the data and
resources of the system are protected from possible intruders. It ensures that the software system and
application are free from any threats or risks that can cause a loss.
9
THANKS!
Any questions?
You can find me at
[email protected]

10

You might also like