sdlc Archives - SoftUni Global https://softuni.org/tag/sdlc/ Learn Programming and Start a Developer Job Wed, 30 Mar 2022 11:57:52 +0000 en-US hourly 1 https://wordpress.org/?v=6.1.3 https://softuni.org/wp-content/uploads/2022/04/cropped-SoftUni-Global-Logo-Square-notext-32x32.png sdlc Archives - SoftUni Global https://softuni.org/tag/sdlc/ 32 32 Is Software Quality Assurance Important for Developers? [Dev Concepts #26] https://softuni.org/dev-concepts/is-software-qa-important-for-developers/ https://softuni.org/dev-concepts/is-software-qa-important-for-developers/#respond Tue, 25 Jan 2022 06:10:00 +0000 https://softuni.org/?p=10880 In this article, we will get familiar with the Software Quality Assurance (QA) and concepts like manual testing, bug tracking and automated testing.

The post Is Software Quality Assurance Important for Developers? [Dev Concepts #26] appeared first on SoftUni Global.

]]>

Software Quality Assurance is a term that covers all aspects of guaranteeing a high-quality software product. It includes creating processes for each stage of development to reduce bugs and flaws during the build. Companies need it to measure the quality of the software.

sqa-diagram

At the heart of the QA process is software testing.

Software testing is the process of checking whether the software conforms to the requirements and works as expected.

Software testing aims to find the bugs (or defects) in the software and to report them for fixing.

Software testing can be manual or automated.

Manual testing is done by hand.

The QA engineer clicks on the software UI, fill and submits forms, interacts with the software UI, invokes back-end operations by hand or by specialized tools, executes certain functionality, validates that it works correctly, and tries to find defects.

Manual testing also involves testing the user experience (UX), the user interface, and the visual look and feel of the software.

Automated testing is done by scripts and programs, which perform robotic checks of the software.

Instead of clicking at the UI controls, filling and submitting forms by hand,

QA automation engineers record scripts and write programs to do automate this and to check whether the software behaves correctly without human innervation.

In addition to testing, there are a few other approaches to software quality assurance.

Code reviews and quality inspections are proactive approaches to software quality.

They aim to catch defects and bad practices early before they appear in the functionality.

Such practices are typically done by senior developers or senior QA engineers.

Code reviews aim to enforce good practices for internal code quality, such as writing understandable and maintainable code, avoiding repeating code, using clear abstractions, formatting the code correctly, naming identifiers correctly, structuring the code in a clear way, and many others.

Quality inspections try to find problems in the code, by understanding its program logic and internal design.

The goal of the testing process is to find and report the defects and issues with the software.

Reported bugs are described, submitted, and tracked in issue tracking software (or simply, bug tracker).

In the issue tracker, developers and QA engineers discuss the issues, prioritize them, assign them to team members, track the work on the issues and the changes of their status, confirm when an issue is fixed, and finally close it.

Issue trackers track not only the defects but also new feature requests and other issues with the software.

Software quality assurance is a broad topic in software engineering and is a separate profession in many software companies.

QA engineers should have basic software development and technical skills

and strong attention to the details and quality, to be diligent and patient, and to work persistently on the software quality, testing, and test automation.

Here are some reasons for using Software Quality Assurance:

  • Ensures products keep improving

The Software Quality Assurance process is all about consistently maintaining high standards. Many of those standards depend on what customers want. As customers engage with a product, they will have suggestions on how to improve them.

 

  • Leads to more long-term profit

people-communicateSoftware Quality Assurance can boost profit in a few ways. The first is through saving more money by not wasting time and resources. The second is that the quality makes companies more competitive in the marketplace. Customers are willing to pay more for better quality

  • Saves companies time and money

cartWhile it takes time at the beginning of the process to create systems that catch errors, it takes more time to fix the errors if they’re allowed to happen or get out of control. Paying to prevent problems is cheaper than paying to fix them.

  • Boosts customers’ confidence

certificatePeople will want to spend money on products, but only if they believe they’re getting something that’s worth the price. When businesses use Software QA processes, they’re letting customers know that they care about them and their priorities.

  • Gives consistent results

checklistWith software products, consistency is the most important factor for Software Quality Assurance. The QA ensures every product bearing the company’s name is the same. No customer is going to get something worse or better than another customer.

Software Quality Assurance is a must in Software Development as it ensures your software is built efficiently and is finished with minimal flaws and bugs. Without it, Software Development could be quite unreliable, with products potentially requiring complete do-overs.

Lesson Topics

In this tutorial we cover the following topics:
  • Software Quality Assurance
  • Live Demo of Issue Tracker

Lesson Slides

The post Is Software Quality Assurance Important for Developers? [Dev Concepts #26] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/is-software-qa-important-for-developers/feed/ 0
What is Software Development Lifecycle? [Dev Concepts #25] https://softuni.org/dev-concepts/what-is-software-development-lifecycle/ https://softuni.org/dev-concepts/what-is-software-development-lifecycle/#respond Thu, 20 Jan 2022 06:10:00 +0000 https://softuni.org/?p=10766 In this video, we will get familiar with the Software Development Lifecycle and concepts like Requirements, Design, Construction, Testing and QA, Deployment, and Project Managment

The post What is Software Development Lifecycle? [Dev Concepts #25] appeared first on SoftUni Global.

]]>

sdlc-diagramThe Software Development Lifecycle is a process used by the software industry to design, develop, and test high-quality software. It aims to produce high-quality software that meets or exceeds customer expectations reaches completion within times and cost estimates. As shown in the diagram, the process splits into different stages:

  1. Requirement Analysis
  2. Defining requirements
  3. Designing architecture
  4. Building and Developing
  5. Testing the Product
  6. Deployment on the Web
  7. Maintenance

team-talkRequirement Analysis

The senior members of the team use information from the customer. This information is then used to plan the basic project approach and to conduct a product feasibility study in the economical, operational, and technical areas.

  • Defining requirements

Then the team should clearly define and document the product requirements and get them approved by the customer or the market analysts.

 

graphic-designer

  • Designing architecture

A design approach clearly defines all the modules of the product along with its communication and data flow representation. The internal design should be clearly defined with even the minutest of the details.

  • Building and Developing

In this stage, the actual development starts, and the product is built. If the design is performed in a detailed and organized manner, code generation can be accomplished without much hassle.

 

designer-work-with-internet-vector

  • Testing the Product.

In this stage, we test for defects and deficiencies. We fix those issues until the product meets the original specifications.

  • Deployment on the Web

At this stage, the goal is to deploy the software so users can start using the product. However, many organizations choose to move the product through different deployment environments, such as a testing or staging environment.

  • Maintenance

The final phase of the Software Development Lifecycle occurs after the product is in full operation. Maintenance can include software upgradesrepairs, and fixes if it breaks. Customers often demand new features for the software application, which the developing team needs to add.

tasks-point

The Software Development Lifecycle done right can allow the highest level of management control and documentation. Developers understand what they should build and why. All parties agree on the goal upfront and see a clear plan for arriving at that goal. Everyone understands the costs and resources required. The benefits of using it only exist if the plan is followed faithfully.

Lesson Topics

In this tutorial we cover the following topics:
  • Software Engineering
  • Software Development Lifecycle (SDLC)

Lesson Slides

The post What is Software Development Lifecycle? [Dev Concepts #25] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/what-is-software-development-lifecycle/feed/ 0