Tools for V&V

Welcome to another of this interesting posts, I hope you’re excellent. In this time I will be talking about the existing tools for V&V.

Tools for version control

git image

Version control systems are software tools that helps a team manage changes to source code. They keeps track of every modification to the code in a special kind of database. They are especially useful for DevOps teams since they help them to reduce development time and increase successful deployments.

The top 5 tools for version control are the following:

To know more about each one, click on the name.

Automated Software Testing Tools

Test automation is an essential part for delivering quality software faster, it requires solutions in Agile, continous integration and DevOps methodologies. All of this cannor be realized without good tools.

Here is a list of the most trending software testing automation tools. To get to know more about each one, click on each title.

Tools for process administration of V&V

Ansible logo

Knowing the right tool to the right job can save us hours of extra work. Here are some tools for process administrarion of V&V.

Well i hope you’ve enjoy some of the useful tool i have provided you in this post. Thank you for taking the time to read this.

Software Testing

Hello everyone, in this new post we’ll be talking about software testing. This one will contain a little more content because this is a huge topic to talk about.

What is Software Testing?

It is defined as the process of executing a program or application with the intent of identifying bugs. Also the process of validating a piece of software meets its business and technical requirements.

A plan for adequate testing is always needed, no matter methodology.

Types and levels of testing

Levels of testing
Types of testing

To know more about levels and types for testing, click on it.

Activities and roles in testing

  • Test lead/manager
    • Defines the testing activities for subordinates.
    • Responsible for testing planning.
    • Checks if the team has all necessary resources.
    • Checks if testing is going hand in hand with software development.
    • Interaction with customer.
    • Status report of testing activities.
  • Test engineers/QA testers/QC
    • Read documents and understand what needs to be tested.
    • Decide how it is going to be tested.
    • Develop test cases and prioritize testing activities.
    • Execute all the test cases and report defects.
  • Software Tester and Test Manager Roles.
  • To know more of each one the roles click here.

Testing environments

A test environment is a server that allows you to run the test cases that are already defined. It also involves hardware and network configuration.

Types of testing environments

To get details about the testing environments click here.

Test Case Design techniques

Is a procedure for determining test conditions, test cases and test data during software testing.

Test design techniques always include test selection criteria determining when to stop designing more test cases. They differ from test creation, which are based on the test data adequacy criteria by selecting appropriate test data in order to reduce the risks to an acceptable level.

Test case techniques

To know more about Test Case Design techniques click here.

Process for control and management of defects in artifacts

Process for control and management of defects in artifacts

Click here to know more.

If you’ve reach until here, I want to thank you for taking the time of reading my blog.

Software Review

What is it?

According to the IEEE Std for Software Reviews (Std 1028), the software review is:

“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”.

IEEE Std . 1028-1997, “IEEE Standard for Software Reviews”

Objectives of Software Review

  • To improve the productivity of the developent team.
  • To make the testing process time and cost effective.
  • To make the final software with fewer defects.
  • To eliminate the inadequacies.

Types of review

  1. Software Peer Reviews: Conducted by the author of the work product to evaluate the technical content and/or the quality of the work
    • Code Review: Examination of source code.
    • Pair Programming: Two persons develop code together at same workstation
    • Walk through: the author leads members of the development team go through a software product and to ask questions and make comments.
    • Technical Review: A team of experts examines the suitability of the software product for its intended use and identifies discrepancies.
  2. Software Management Reviews: Conducted by management representatives to evaluate the status of work done and to make decisions regarding downstream activities.
  3. Software Audit Reviews: Conducted by personnel external to the software project, to evaluate compliance with specifications, standards, contractual agreements, etc.

And finally, here is an image of how is the process of the software review.

If you’ve reached until this point, I want to thank you for your time and I hope you’ve enjoyed it.

V&V

Hello again, I hope everybody is well. Welcome to a new post in which I’ll be talking about Verification and Validation of software.

V&V processes are used to determine whether the development products of a given activity conform to the requirement of that activity and whether the product satisfies its intended use and user needs.

V&V in the life cycle of software development

According to the IEEE Standard Glossary of Software Engineering Terminology, V&V is defines as the process of determining whether:

  • Requirements for a system or component are complete and correct.
  • Products of each development phase fulfill the requirements or conditions imposed by the previous phase.
  • Final systems or components comply with the specified requirements.

To better understand the life cycle, please see the following image.

International standards for V&V of Software

IEEE 1012-2016 -> IEEE Standard for System, Software, and Hardware Verification and Validation

ISO/IEC 29119 -> Is an internationally agreed set of standards for software testing that can be used within any software development life cycle or organization. By implementing these standards, you will be adopting the only internationally-recognized and agreed standards for software testing.

Planning V&V and the administration of that plan

The verification and validation test plan describes how a software product will be tested. It is typically developed early in the engineering process, the plan may include specific validation procedures to be followed during validation process. At the end the project team produces a report detailing the outcomes of the validation tests.

And well, this was everything of this post. Thank you very much if you’ve reached until this part. I hope you’ve enjoyed it!

Models and Standards for Software Process Improvement

Hi everyone! If you’re reading this post, I’d like to thank you for your time 🙂

In this time I’ll talk about some of the models and standards for Software Process Improvement.

What are Software Process Improvement Models and Standards?

Software Process Improvement methodology is defined as a sequence of tasks, tools and techniques to plan and implement improvement activities to achieve specific goals such as increasing development speed, achieving higher product quality or reducing costs.

The following are some of the models and standards existing for the software process improvement.

CMMI

The Capability Maturity Model Integration is a proven set of global best practices that drives business performance through building and benchmarking key capabilities. This models help any organization in any industry build, improve, and measure their capabilities and improve performance.

Maturity levels represent a staged path for an organization’s performance and process improvement efforts based on predefined sets of practice areas. Each maturity level builds on the previous maturity levels by adding a new functionality.

This are the 5 maturity levels:

  • Level 1: Initial
    • Unpredictable and reactive. Work gets completed but is often delayed and over budget
  • Level 2: Managed
    • Managed on the project level. Projects are planned, performed, measured and controlled.
  • Level 3: Defined
    • Proactive, rather than reactive. Organization-wide standards provide guidance across projects, programs and portfolios.
  • Level 4: Quantitatively Managed
    • Measured and controlled. Organization is data-driven with quantitative performance improvement objectives that are predictable and align to meet the needs of internal and external stakeholders.
  • Level 5: Optimizing
    • Stable and flexible. Organization is focused on continuous improvement and is built to pivot and respond to opportunity and change. The organization’s stability provides a platform for agility and innovation.

To know more about CMMI, visit https://cmmiinstitute.com/

TSP & PSP

“Personal Software Process is a guide to use disciplined personal practices to do a superior software engineering”(Humphrey,1999).

PSP helps software engineers to:

  • Improve their approximating and planning skills.
  • Make promises that can be fulfilled
  • Manage standards of their projects
  • Reduce the number of faults and imperfections in their work.

Levels of PSP

  • PSP 1
    • Planning of time and scheduling.
  • PSP 2
    • Personal quality management, design and code reviews.
  • PSP 3
    • Personal process evolution

The Team Software Process (TSP) is an extension of PSP, scaled up for teams. It comes in handy to offer operational procedures and strategies that assist engineers and manager organize projects effectively and produce quality software using disciplined software methods. Its primary objective is creating a team environment that supports disciplined work while still building and maintaining a self directed team.

ISO-15504

ISO/IEC 15504 Standard, also known as Software Process Improvement and Capability Determination (SPICE), is an international standard created to improve the quality of Software processes, it is based on sustainability that software engineers can handle software processes more easily. It is a standard established jointly by the International Standarization Authority and the International Electronic Commission (IEC).

MOPROSOFT

MoProSoft is the Process Model for Software Industry in Mexico, its purpose is to standarize its operation incorporating improved practices in amnagement and software engineering. This model allows to increase the capacity os proviidng qualirty products to organizations and achieve international standards of competitiveness.

Ideal method

Initiating, Diagnosting, Establishing, Acting & Learning

And well, this is all for this post.

If you’ve reached ‘till this point, I’d want to thank you for your time. See you on next posts. 🙂

Software Quality

Our world runs in software, everything around us is software, the phones, the tv, even the cars depend on software. Therefore the relevance of software quality is increasing. But, what is Software Quality? Well, we’re here to define this concept.

Defining Software Quality

Software Quality is still an abstract concept, there are many variations on the definition. Wikipedia describes it as follows:

In the concept of Software Engineering, software quality refers to:

– Functional quality: how well it complies with a given design, based on specifications (how it compares to competitors in the marketplace as worthwhile product)

-Structural quality: how it meets non-functional requirements to support the delivery of functional requirements

it´s presence can be difficult to define, but it´s absence can be seen easily and instantly

A focus in process

Ensuring Software Quality

The role of standards in Software Quality

My life during COVID-19

Let me tell you about what is my life during quarantine, how I handle to be student and a part time worker.

What did change with pandemic?

Since we are in lock down, the first thing I had to change was my workspace. I couldn’t work on the school or at the office, so I had to settle up a desktop and a chair on my bedroom. This wasn’t easy because my bedroom is small, so i had to find the best way to accommodate them so they wouldn’t take so much space.

After I had my workspace, I started to create a routine. For me, creating a routine is one of the most important things to do because it helps me manage my time, so I can complete my tasks on time and not expend all my time at work less than school or vice versa.

Part of my routine includes establish limits of time for work and for school. I’ve got o the conclusion that for mental health, is important not to be seated in the same space for a lot of time, is very important to have little breaks.

One thing I’ve included to my routine is exercise, why? because it helps me to stay fresh and to clear my mind after all my busy day. I was not used to exercise, but now, is super important for me to do it, even though I spend only 30 minutes.

I’ve always loved reading, but I did not spend time on it.But now in quarantine, I returned to it. I make time for some books I kept on the bookcase. And I found out that that relaxes me before I go to bed.

One of the things I am working on is the sleeping time, I am used to sleep like 5 or 6 hours the most and I know that is not healthy for all the things I have to do. But I’m trying to go to bed early, so I can get my 8 hour sleeping.

Time management was definitely the most important thing I’ve learned during this times. I have learned that is necessary to have breakfast, lunch and dinner at specific time and not skip them because “you have a lot of work to do”. I found my way to do all what I have to do, in the assigned time, but also I have learned that if I didn’t finished at that specific time, the world is not going to end and i can deliver it at the next day.

Those are some of the things I do now that I didn’t do before that are helping me handle the work, school and projects during the quarantine.

I hope you enjoyed this reading and thank you that you’ve reached the end of this post!