Tools for V&V

Tools for version control:

Git

Git is a distributed version-control system for tracking changes in any set of files, originally designed for coordinating work among programmers cooperating on source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows

CVS

Concurrent Versions System is a revision control system originally developed by Dick Grune in July 1986. CVS operates as a front end to RCS, an earlier system which operates on single files. It expands upon RCS by adding support for repository-level change tracking, and a client-server model

TortoiseCVS: About

Mercurial

Mercurial is a distributed revision-control tool for software developers. It is supported on Microsoft Windows and Unix-like systems, such as FreeBSD, macOS, and Linux

Mercurial - Reviews, Pros & Cons | Companies using Mercurial

Tools for testing:

Managment tool

“Manual & Automated Test Management App for QA. It’s a full-featured tool that lives inside and seamlessly integrates with Jira. Its aim is to help companies improve the quality of their products through effective and efficient testing.”

Automated Testing Tools

“is the GUI Test Automation tool of choice for more than 3000 companies worldwide to automate the functional regression tests and system tests of their graphical user interface (GUIs) and Human Machine Interfaces (HMIs). The Squish GUI testing tool, a 100% cross-platform tool, features”

API Testing Tools

Tricentis is an Api Testing tool which helps to manage test cases reduces testing time, manual effort and costs by building up and executing test cases.

Software Testing

Software testing process

“Software testing is the process of evaluating and verifying that a software product or application does what it is supposed to do. The benefits of testing include preventing bugs, reducing development costs and improving performance.” -IBM

Free Software Testing Tutorial for Beginners | ISTQB Preparation Tutorials

Types and levels of testing

  1. Unit Testing -> software components
  2. Integration Testing -> the data flow between modules
  3. System Testing -> functional and non-functional needs
  4. Acceptance Testing -> requirements of a specification by delivery
  5. Functional testing-> Checking functions by emulating scenarios, functional requirements
  6. Performance testing-> performance under different workloads. Load testing
  7. Regression testing -> Checking features breaking functionality
  8. Stress testing ->Testing the system before it fails. Non functional
  9. Usability testing-> Validating customer usage

Activities and roles in testing

Test managers

  • Defining the testing activities
  • All responsibilities of test planning.
  • check necessary resources
  • Prepare the status report of testing activities.
  • Required Interactions with clients.
  • documenting progress of testing activities.

Test engineers

  • Decide how it is to be tested.
  • Inform the test manager
  • Develop test cases and prioritize testing activities.
  • Execute all the test case and report defects
For Software Testing Passionates...

Testing environments

“A testing environment is a setup of software and hardware for the testing teams to execute test cases. In other words, it supports test execution with hardware, software and network configured.” -guru99

'testing-environment' tag wiki - Software Quality Assurance & Testing Stack Exchange

Test Case Design techniques (open and closed views)

1. Specification-Based Design Technique:

“This is also popularly known as the black-box design technique. In this design technique, the test cases are written by taking the client’s functional requirements and specifications into consideration” -educba

2. Structure-Based Testing

“Structure-based testing deals with an applications internal structure and architecture. Here, the source code used to develop the application is tested. Therefore in the case of structure-based testing, a good understanding of the code and its internal flow are necessary in order to be able to design the test cases. Structure-based testing is also called white-box testing ” -educba

3. Experience-Based Testing

“As the name states, this testing technique is based on a tester’s experience and expertise in similar applications and technologies. These are further divided into:”

Error guessing (based in prior cases” and Exploratory testing (parallel testing).

Stock video of documents in folder and case closed, | 5503466 | Shutterstock

Process for control and management of defects in artifacts

Defect Life Cycle Flowchart

Software Review

“A process or meeting during which a software product is examined by a project personnel, managers, users, customers, user representatives, or other interested parties for comment or approval” it’s the IEEE’s definition of this process.

Objectives:

  1. To improve the productivity.
  2. the testing process time and cost effective.
  3. final software with fewer defects.
  4. eliminate the inadequacies.

Types:

Software Peer Review

This methodology uses the author and another colleague to review certain document/code/etc in order to do an evaluation of the content’s quality.

This type of review relies on colleagues over management representatives, and Peer Review it is more focus on a technical evaluation over control objectives.

The Power of Peer Review-Final ICSQ V2.0

Software Managment Review

it is a management-oriented study on the project state and its resources. it is defined by the IEEE as “A systematic evaluation of software acquisition, supply, development, operation, or maintenance process performed by or on behalf of management … [and conducted] to monitor progress, determine the status of plans and schedules, confirm requirements and their system allocation, or evaluate the effectiveness of management approaches used to achieve fitness for purpose. Management reviews support decisions about corrective actions, changes in the allocation of resources, or changes to the scope of the project”.

Here it’s the IEEE standard:

  1. Evaluate entry?
  2. Management preparation?
  3. Plan the structure of the review
  4. Overview of review procedures?
  5. [Individual] Preparation?
  6. [Group] Examination?
  7. Rework/follow-up?
  8. [Exit evaluation]?

Software Audit Review

IEEE defines it as “An independent examination of a software product, software process, or set of software processes to assess compliance with specifications, standards, contractual agreements, or other criteria”.

the roles of this methodology are:

  • The Initiator (manager)
  • The Lead Auditor (objective consultor and organizer)
  • The Recorder (documents the process)
  • The Auditor (examine the process progress)
  • The Audited Organization  (consultor)
Figure 01 Eight Principles of a Crypto-IT-Audit.png

Software Verification and Validation (V&V)

V&V are independent procedures used to check a product/service/system meets the requirements and specifications demanded.


Verification means “confirmation by examination and provision of objective evidence that specified requirements have been fulfilled” by 820.3(a).


Validation means “confirmation by examination and provision of objective evidence that the particular requirements for specific intended use can be consistently fulfilled.

V&V has to have an Installation, Operational and Performance qualification to be green-lighted. Also, any software that has to be used by humans has to pass to this process of V&V.

ISO and other organizations are the ones that have to oversee the V&V of:

  • Quality management system
  • Calibration management system
  • Maintenance management system
  • Document management/PLM system
  • Quality system platforms/server validation
  • Resource management system
  • Clinical data tracking databases
  • Labeling software

We mention that V&V is a set of independent procedures/documents, here is a list with the main ones:Software Validation Protocol

Software Validation Protocol :

Network Diagram:
it illustrates how the system is configured on a network

Risk Analysis:

risk analysis document should evaluate safety and identify potential hazards

21 CFR Part 11 Compliance Analysis:

contains specific requirements for the use of electronic signature

Design Specification:

A document that indicates that the design criteria whereby the conformity with the requirement can be checked.

Verification Protocol :

Contents of the verification protocol define the type of tests to be performed and the procedures and schedules for tests.

Test Specifications:

Test cases are documents used in the process. In software verification and validation, they are used to determine if the product is built according to the user requirements.

Requirements Traceability Matrix:

This document links the requirements throughout the validation process. It ensures that all the requirements specified for a system are tested in test protocols.

Final Validation Report

Quality

Software is like entropy. It is difficult to grasp, weighs nothing, and obeys the second law of thermodynamics, i.e., it always increases.

— Norman Ralph Augustine

That’s a good idea to start this topic, entropy’s simple definition is “lack of order or predictability; gradual decline into disorder”

Software as it gets more complex, it can become like the dots in the image: unpredictable and lacking order/structure, it can decline into chaos.
As I researched I found different perspectives of what quality means for a product, for the user is how fit it is to satisfy his needs, in the view of the production it is how well meets the specifications, in the view of the product itself quality lies in the internal characteristics that then defines the external, and in the capital way to see it is, how the product holds its value.

Getting High on Animated GIFs – Part 2 | Geometry, Animation, Geometric

For me the animation reflects the meaning of quality, the dots represent the components, features, image, etc. and what quality does is the process of organizing all of these particles into a shape, a cohesive and solid product, and as more dots are added, it already has its place, and as it grows becomes a solid object in space. Quality is how well did we organized the dots, how close it is to something with form. Maybe the software has not a lot of features, so what is the scale of the shape we try to form, how strong its the structure, will it crumble?

Particle Shape

But of course, this is a visualization, we can easily identify if the dots are part of a form, or if it has deformities, or if it has low density, in software and in other areas it isn’t as easy to ensure the quality of the product.

Software Quality Assurance its the practice of monitoring the processes and methods used in the project to ensure the quality of the computer software, this monitoring starts as early as the first phases of development, and even in the design phase. As we build something, like in a 3d modelling software, we can use the tools the software has in order to identify errors and correct them, SQA provides these tools in order to identify errors and correct them in order to ensure the highest quality possible.

The standards of software quality (work in progress).

Tema 1

Esto es una entrada de muestra, originalmente publicada como parte de Blogging University. Regístrate en uno de nuestros diez programas y empieza tu blog con buen pie.

Hoy vas a publicar una entrada. No te preocupes por el aspecto de tu blog. Tampoco te preocupes si todavía no le has puesto un nombre o si todo esto te agobia un poco. Tan solo haz clic en el botón “Nueva entrada” y explícanos por qué estás aquí.

¿Por qué es necesario?

  • Porque proporciona contexto a los nuevos lectores. ¿A qué te dedicas? ¿Por qué deberían leer tu blog?
  • Porque te ayudará a concentrarte en tus propias ideas sobre tu blog y en lo que quieres hacer con él.

La entrada puede ser corta o larga, una introducción de tu vida o una declaración de los objetivos del blog, un manifiesto de cara al futuro o una breve descripción del tipo de cosas que pretendes publicar.

Te ofrecemos algunos consejos útiles para ayudarte a empezar:

  • ¿Por qué publicas tus entradas en lugar de escribir en un diario personal?
  • ¿Sobre qué temas crees que escribirás?
  • ¿Con quién te gustaría conectar a través de tu blog?
  • Si tu blog resulta ser un éxito a lo largo del próximo año, ¿qué objetivo te gustaría lograr?

No tienes por qué atarte a las decisiones que tomes ahora. Lo bueno de los blogs es que evolucionan constantemente a medida que aprendemos nuevas cosas, crecemos e interactuamos los unos con los otros. Pero está bien saber dónde y por qué empezaste, y plasmar tus objetivos puede darte más ideas para las entradas que quieres publicar.

¿No sabes por dónde empezar? Tan solo escribe lo primero que se te ocurra. Anne Lamott, autora de un libro sobre cómo escribir que nos encanta, afirma que debemos permitirnos escribir un “primer borrador de mierda”. Anne está en lo cierto: tan solo tienes que empezar a escribir, y ya te encargarás de editarlo más tarde.

Cuando todo esté listo para publicarse, asigna entre tres y cinco etiquetas a la entrada que describan el centro de atención de tu blog: escritura, fotografía, ficción, educación, comida, coches, películas, deportes… ¡Lo que sea! Estas etiquetas ayudarán a los usuarios interesados en tus temas a encontrarte en el Lector. Una de las etiquetas debe ser “zerotohero”, para que los nuevos blogueros también puedan encontrarte.