Anda di halaman 1dari 14

Embedded System

Advanced Programing

3th Grade Group A

Professor Victor Ramírez

ESSAY #3

Student Susana Samantha Arjona Sansores

November 16, 2018


Essay unit 3
Abstract:

Key words: validations techniques, software quality testing, quality


metrics, testing.
Have you ever wondered about the whole process by which some artifact
happened, such as your cell phone? Every device you have had to go through a
whole process before reaching your hands thanks to the ways in which we can
do tests as in everyday life.

Now for example: imagine that you are in the supermarket and you have a doubt
regarding 2 products that serve the same, besides having the same price but you
do not decide which one to grab so you decide to take 1 and try it, a week you
go back to the supermarket and you buy the other one and then another week
arrives where you have to buy but you already did a product test and you
realized that you like more one of the two thanks to the fact that you used it and
that's what this document is about , then we will talk about the processes through
which they pass, defining them in addition to relating some examples of daily
life and showing related images to make it easier to understand each sub-topic
of this third quarter of the third unit in the subject of advanced programming.

2
Software quality methods
Validation Techniques
What is it?
Validation has many slightly different meanings depending on the company and
the context. It usually implies that a quality assurance plan has been put in place
so that a product or process cannot be wrong after it has been validated then this
consists of verifying that both the algorithm and the program meet the program
specification(https://prezi.com/asbv81uuprbj/lenguaje-de-programacion-
validacion-clases-y-herencia/). Better defined could not have
been found, now that is what is meant by this, it means that the
company wants to check and demonstrate the quality of its
product in addition to doing several tests to get quality
products to customers of course this can be divide it into:

 Unit testing

is a level of software testing where individual units/ components of a software


are tested? The purpose is to validate that each unit of the software performs as
designed. It usually has one or a few inputs and usually a single output. Unit
testing frameworks, drivers, stubs, and mock/ fake objects are used to assist in
unit testing.

3
You should:

 Test all operations associated


 Set and check the value of all attributes associated
 Put the system into all possible states. You should simulate all events that
cause a state change
 Equivalent partition

The idea behind this technique is to divide a set of test conditions into groups
or sets that can be considered the same. we need to test only one condition from
each partition. This is because we are assuming that all the conditions in one
partition will be treated in the same way by the software.

For example, a savings account in a bank has a different rate of interest depending
on the balance in the account. In order to test the software that calculates the
interest due, we can identify the ranges of balance values that earn the different
rates of interest.

4
 Edge (boundaries)

In this part you choose test cases from each of


these partitions also is a problem or situation
that occurs only at an extreme (maximum or
minimum) operating parameter. Even you can
have an atypical values and process this results
but you can generate failures in the program.

Software quality methods


 Functionality
is the sum or any aspect of what a product, such as a software application or
computing device, can do for a user
(https://searchmicroservices.techtarget.com/definition/functionality). Identify
the increment of functionality and then implement
it converted in a few lines of code. Later you take
the test and run it as many times as needed and
once all tests run successfully, you move into
implementing the next chunk of functionality.

5
 Integration
Integration testing is a systematic technique for constructing the software
architecture while at the same time conducting tests to uncover errors associated
with interfacing. The objective is to take unit-tested components and build a
program structure that has been dictated by design. Which means use the
components together so that system is able to deliver the overarching
functionality the objective is coordinate the whole system. This is divide in two
ways:

 Top down integration

 Bottom up integration

6
 Penetration (security testing)
Security testing attempts to verify that protection
mechanism built into a system will and protect it
from improper penetration or can be defined as a
type of software testing that intends to uncover
vulnerabilities of the system and determine that its
data and resources are protected from possible
intruders
(http://softwaretestingfundamentals.com/security-
testing/). It can be see it like a way to protect your
software in any part (I mean devices). To Quote
Beizer: “The system’s security must, of course, be tested for invulnerability
from frontal attack- but must also be tested for invulnerability from flank or rear
attack”.

 Black box

Is the element that is studied from the point of view of the inputs it receives and
the outputs or responses it produces, without taking into account its internal
functioning so doesn’t matter the code or can be explain it like the
complementary approach that is likely to uncover a different class of errors than
white box (this will be explained later).

7
 White box
In programming, white box is a type of software testing that is performed on
the internal functions of a module. The white box tests are aimed at internal
functions.( https://www.slideshare.net/StudentPc/software-caja-negra-y-
caja-blanca). What does this mean? that can provide the solution to any flaw
found in the code at the time of testing, or report to the developers the
solution to the flaw and not only the existence of it.

 Smoke testing

It is a test commonly used it when product software


is developed. It is designed as a pacing mechanism
for time-critical projects, allowing the software
team to assess the project on a frequent basis and
exercise the entire system from end to end this also
means it does not have to be extreme, but it should
be capable to showing major problems. The
definition said that: is a type of software
testing that comprises of a non-exhaustive set of tests that aim at ensuring that
the most important functions work. The result of this testing is used to decide if
a build is stable enough to proceed with further testing
(http://softwaretestingfundamentals.com/smoke-testing/).

8
 Monkey Testing

is a technique in software testing where the user


tests the application by providing random inputs
and checking the behavior (or try to crash the
application). Mostly this technique is done
automatically where the user enters any random
invalid inputs and checks the behavior. This
technique works very well when you try to break
your application by proving non-stop random
inputs (https://www.softwaretestinghelp.com/what-is-monkey-testing-in-
software-testing/). So the purpose is to cause your software to be almost to the
maximum and check where you can have errors so that you can solve them and
no longer happen in the future.

Software quality methods

o Test planning

Is a document where the result of the quality test is written but always include
(in this part just would use images and maybe a description):

 Requirement matrix

9
10
 Test cases

11
 Error analysis document
 Validation and quality standards used
 Statistical error report: functionality and rehabilitee
 Analysis of test result

The last thing to realize about program debugging is that, in addition to its value
in removing an error from the program, it can have another valuable effect: It
can tell us something about the nature of software errors, something we still
know too little about. Information about the nature of software errors can
provide valuable feedback in terms of improving future design, coding, and
testing processes (https://www.oreilly.com/library/view/the-art-
of/9780471469124/9780471469124_error_analysis.html).

12
Conclusion
Summarizing the devices as you can see have several processes and tests before
arriving at you and surely you did not imagine the different forms that there can
be of each of these. Now as a result you already have an idea of the process
through which they pass and the ways in which if you want you could create a
device and to be successful you can follow or do the cases and the tests before
taking this to the market so that it succeeds in the currently demanding market.

13
Reference
https://prezi.com/asbv81uuprbj/lenguaje-de-programacion-validacion-clases-
y-herencia/
https://searchmicroservices.techtarget.com/definition/functionality
http://softwaretestingfundamentals.com/security-testing/
https://www.slideshare.net/StudentPc/software-caja-negra-y-caja-blanca

14

Anda mungkin juga menyukai