Posted By : Sayani Laha | 29-Jul-2022

QA Quality Assurance

1. Manual Testing :-

It is a software testing technique where, the test cases that are created and are executed manually without using any automated tool. It is a process where the errors , defects and vulnerabilites of the application/software are reviewed manually. The software testers' use & review the developed application/spftware the same way as the end user would be using it. Under Agile Methodology , the twop steps are performed for manual testing :-

STLC -- Software Testing Life Cycle , there are 7 steps process for the testing :-

  1. Organize for Testing - here , the project manager explains the details of the requirements to the Test Manager , then after analysing & working on it , he/she will come up with the estimated time & estimated cost to develop the software
  2. Develop the Test Plan - the next step here is to decide ; how , when , where and what to test and what are the high priorities for the testing purpose
  3. Verification Testing - here next , we need to verify the every step that we are going to develop , i.e. , verfiy the design , verify the code , verify the suitable work environment , verify the correct source , verify the work speed & time
  4. Validation Testing - then ; here we need to create test cases , test suite , test scripts to test the functionalities that are developed on the basis of priorities , also need to test the build updated & record the results of the same
  5. Record & Analyse - when all the test results are PASS , then the manager gives the final & thorough check on the product that if the product created is as per the requirement or not , then it is setn for further implementation
  6. Pre-Implementation - it is same as Alpha Testing , that is , here we test before finally updating the build
  7. Post-Implementation - it is same as Beta Testing , testing is done after final implementation & updation of the build.

SDLC -- Software Development Life Cycle , there are 6 models to develop a software , they are as follows :

1. Waterfall Model - this method is geenraly used in companies where the people work on small projects , because ; this method is -

  • Rigid in nature , i.e. , until we complete a phase we cannot move to the next phase and ; we move to the next phase , we cannot move back to the previous phase to correct or work on it if required
  • Here, there is no proper utilization of the resources

2. Spiral Model - This model is a chance-driven software improvement procedure model. based totally at the precise threat patterns of a given undertaking, the spiral version publications a team to undertake factors of one or greater procedure models, together with incremental, waterfall, or evolutionary prototyping , this works under high risk.

3. Incremental - The incremental construct version is a method of software program development in which the product is designed, implemented and examined incrementally (a little extra is brought every time) till the product is finished. It includes both improvement and maintenance. The product is described as finished while it satisfies all of its requirements. This version combines the factors of the waterfall version with the iterative philosophy of prototyping.

4. Prototype Model - software prototyping is the pastime of creating prototypes of software programs, i.e., incomplete versions of the software program software being advanced. it is an interest that may arise in software program improvement and is comparable to prototyping as known from other fields, consisting of mechanical engineering or production.

A prototype normally simulates just a few components of, and can be absolutely exceptional from, the very last product.

5. V-model - The V-version is a graphical illustration of a systems development lifecycle. it is used to supply rigorous improvement lifecycle models and task management fashions.The V-model summarizes the main steps to be taken together with the corresponding deliverables inside automated system validation framework, or assignment existence cycle development. It describes the sports to be finished and the outcomes that should be produced all through product improvement.

""The left side of the "V" represents the decomposition of necessities, and advent of system specs. The right sie of the "V" represents integration of elements and their validation. but, requirements need to be established first in opposition to the higher level necessities or user desires.""

6. Agile Model - This version is a mixture of iterative and incremental system fashions with cognizance on process adaptability and consumer pride with the aid of fast shipping of running software program product. Agile strategies destroy the product into small incremental builds. these builds are provided in iterations.

Generally , now-a-days , the companies are following the Agile Methodology , as it's main focus is delivering the highest business values within short time period.

2. Automation Testing :-

Automation testing is the method of testing software and different tech products to make sure it meets strict necessities. basically, it’s a check to double-check that the equipment or software does exactly what it changed into designed to do. It exams for insects, defects, and some other issues that can rise up with product development.

When starting to work with unit testing frameworks, the crew wishes to recognize approximately its attributes, runners, assertions, display screen shots, take a look at suites, and CI (continuous integration). popular user trying out frameworks consist of JUnit for Java and Pytest for Python.

Benefits of Automatic Testing -

  • * Simplifies testing - testing is a recurring part of the operations of most SaaS and tech companies. Making it as simple as possible is prime. The usage of automation is extraordinarily useful. When automating test tools, the take a look at scripts can be reused. manual trying out, in the meantime, calls for a single code line to be written for the identical check case, each time it desires to be run
  • * Quickens the trying out procedure - Machines and automated technology work quicker than humans. along side improved accuracy, this is why we use them. In turn, this shortens your software improvement cycles.
  • * Reduces human intervention - assessments may be run at any time of day, even overnight, while not having people to oversee it. Plus, when it’s performed routinely, this will additionally lessen the hazard of human blunders.
  • * Saves time and money - testing may be time-eating. Though automation can also require an initial funding, it is able to shop money ultimately to end up greater cost-powerful. crew individuals use their time in other areas and are not required to carry out guide testing in lots of conditions. This improves their workflow.

It’s no longer possible to automate all checking out at once. So, you need to decide which tests to automate first. allow’s examine the type of assessments that may gain from automation and therefore ought to be automated:

  • Checks that can cause failure due to human blunders
  • Repetitive and monotonous exams
  • Enormous checks that require a couple of facts sets
  • Checks that may’t be accomplished manually
  • Checks that might take quite a few time manually
  • High-chance checks
  • Tests that want to run on several distinct hardware and/or software program systems

The Process of Automation Testing

  • Select the test tool to utilize
  • Establish the scope of Automation
  • The planning stage
  • The execution stage
  • Ongoing Maintenance

Therefore ,

  • * Manual testing is finished manually through QA analyst (Human) while Automation checking out is carried out with the usage of script, code and automation tools (laptop) via a tester.
  • * Manual testing out process is not accurate because of the possibilities of human mistakes whereas the Automation process is dependable because it is code and script based.
  • * Manual testing is a time-consuming system while Automation checking out could be very speedy.
  • * Manual trying out is feasible with out programming understanding while Automation testing is not feasible with out programming knowledge
  • * Manual testing allows random testing while Automation testing doesn’t permit random testing.

At Oodles, we specialize in developing custom enterprise solutions from the ground-up for the diverse industry-specific needs of our clients. Our seasoned developers specialize in using open-source software platforms for custom ERP application development from scratch. To learn more about our custom ERP development services, contact us at [email protected].