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
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:
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.
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
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.
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.
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.
To know more about Test Case Design techniques click here.
Process for control and management of defects in artifacts
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
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.
Software Management Reviews:Conducted by management representatives to evaluate the status of work done and to make decisions regarding downstream activities.
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.
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&Vand 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!
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.
“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.
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:
it´s presence can be difficult to define, but it´s absence can be seen easily and instantly
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!