2016/02/23

Software Test Services: RAD Model


Rapid Application Development Model is a subtype of the Incremental model, in which the product is divided into separate components/functions, and they are developed in parallel, as mini-projects. When implementing this approach, dedicated testers get a product during 3-5 months. It’s essential to attract a competent, dedicated testing team, to release the project in a limited time and with a small budget. 

RAD Model Has the Following Periods:
Requirements Planning Phase – product analysis determines types of works and their volume for every mini project, the risks in the product and on the project. Business objectives are formulated in clear requirements and approved by the project manager.
User Design Phase – on this stage, testers work on models development and prototypes of the software product when cooperating with business analytics and system analytics together with product users.
Construction Phase –   dedicated testing team works on code writing and testing. At the same time, users can make changes in the product, because of requirements specification. 
Cutover Phase – it’s a final part of development when testers perform accepting testing.

Benefits:
- Applied component reuse program.
- Reduced development time.
- Initially requirements comprehensible for all participants in the project.
- Feedback effect.
- Testers are involved in the project at a very early stage.

Drawbacks:
- Implementation of the project depends on a high level of competence in the domain of engaged employees and their performance.
- It is important not to skip the requirement or allow uncertainties in the requirements.
- Need experts in modeling.

Is Recommended to Use When:
- There is a need to create a product within a limited period is 3-5 months.
- Has the financial capacity to attract designers to simulate.
- Invited staff are experts in the developed product.

2016/02/22

Software Test Services: Incremental Software Development Model



Hello, guys! We have already learned about Waterfall and V-models, hope the information was clear and interesting for you! Today’s post is dedicated to another software development model – Incremental.

Incremental Software Development Model

Incremental model is similar to Waterfall model, and the main difference between them is that all product requirements are divided into separate builds. The entire product is decomposed into several parts where each part is done fully and separately one after the other. The primary benefit of the given model is that after each development and designing period, dedicated testers get a healthy product with full functionality. With every iteration, the program’s functionality increases until the end of the project. The dedicated testing team takes part in the product development from initial stages.

Benefits:
- Healthy program with new functionality is available for users of each build.
- Testers participate in the project from the beginning.
- It’s easier to code and test under small iterations.
- The customer can see the product’s functionality after each build, and the feedback effect is established better.

Drawbacks:
- Without planning activity and product design, there is no good team performance.
- On the initial stage of the project, testers need time to clarify the requirements and to divide them on different iterations.
- The given model is more costly than a waterfall model.

It’s Recommended for Use When:
- All the requirement are clear.
- Allowed the emergence of new requirements or specification under development product.
- There is a requirement for the product came on the market as soon as possible (sometimes not even with all the functionality).
- Qualified staff is available at every level of development.
- At the initial stage, it is possible that the development team is not yet complete, and competent in their field specialists would join the project later. So begins work at an early stage so that the functionality can be quickly and easily implemented into a finished software product as soon as possible.


2016/02/11

Software Test Services: V-Model


Hello, guys! I hope that you enjoy our blog because we are trying hard to provide interesting and useful information. If you are interested in software, it's peculiarities - click here for more information! 
And now let's proceed to V-Model.

V-Model

It is a sequential software development model and it gained its name because the diagram resembles letter V. Classical V-model consists of 4 levels, where each development level has its own test level.

Basic Levels of V-Models Are:

Component/Unit testing. Dedicated testing team check different components of the software.
Integration testing. Testers verify the correlation between program interface and external systems or components of the software product
System testing. Testers check the performance of the whole software product.
Acceptance testing. The customer or users perform the given testing type.

V-model differs from Waterfall model that now there is not only one level of testing after encoding but four levels. 

Testing Process Starts at the Stage of Receiving Requirements:

- Based on requirements, dedicated tester creates acceptance testing.
- Because of functional requirements, system tests are created.
- Based on the technical specification, testers create continuous integration services.
- Component/ Unit tests are created based on the program specification.

When a code is written, software testing starts from component testing and finishes with acceptance testing. The advantage of this model is that at each level of development (programming) there are active testers who can find errors in the documentation, refine and clarify the job functionality in documentation before the code was written.

Benefits:

- The model is easy in using.
- Testers participate in the project from its early stages.
- Test planning and test design take place before writing the code, which saves time and helps to detect defects or clarify discrepancies in documentation.
- Is suitable for small projects, when all the requirements are clear.
- Testers detect bugs in the early stages.

Drawbacks:

- A prototype of the product is missing until the code is not written.
- Changes in unplanned requirements require patching in the test plan, test design and test.

It is Recommended to Use When:

- When all the requirements are formulated.
- The project’s complexity is small or medium.
- Qualified staff is available at every level of development.

2016/02/09

Software Test Services: Waterfall Model


Software Test Services: Waterfall Model

As I promised in the previous post “Software Test Services: 7 Software Development Models That Should Know Every Tester”, now we will analyze one of the most widely used models in independent testing – Waterfall Development Model.

Waterfall Model
It is linear-sequential software development model and it gained its name because when developing a product, every stage or work period should be finished before next one will start its performance. Activity periods don’t overlap, and at the end of each period, dedicated testing team should decide whether all done correctly, and whether you can proceed to the next period.

As a rule, each model has its benefits and drawbacks, and waterfall model is not an exception.


Benefits:
- The model is easy and user-friendly.
- It is suitable for small projects, when all requirements are clear.
- It is easy for design periods management, because each period has an exact amount of work to be completed.

Drawbacks:
- If there is a bug on testing stage – it’s a costly process, because tester should make changes in the requirements, in design, in the code and also perform an additional regression testing as a service.
- The program may be unworkable in the last stage of product development life cycle.
- There can be big risks for the project and product.
Is not suitable for big projects.
- Unscheduled changes in requirements can lead to greater risks.

 It is Recommended to Use When:
- Precise requirements.
- The technology is well known for project participants.
- Project is limited in time.
- Qualified personnel.

2016/02/04

Software Test Services: 7 Software Development Models That Should Know Every Tester


Every dedicated tester from an independent testing company knows that depending on the project aims, the development process requires various methods or methodologies. 

Each software development model has different stages and the choice of the model influence the testing process. Program development life cycle involves creating the initial requirements and their refinement, writing code, testing the product and prepare it for release on the market.

7 Software Development Models:  

- Waterfall Model.
- V-Model.
- Incremental Model.
- RAD/Rapid Application Development Model.
- Agile Model.
- Iterative Model.
- Spiral Model.

Each of these models has its advantages and disadvantages, and the choice of model depends on the project type, the amount of work, the competence of developers, available documentation and product requirements.

In next posts, we will analyse all the seven models deeper. Be with us and let's discover software testing world together!

http://testmatick.com/

2015/12/08

Psychology of Testing

Mentality of testing specialist must be different from that of developer. Frankly speaking, programmers are quite capable of testing both their own handwritten code and functionality of the system they work upon.

But it is not for nothing that testing is performed by independent specialists – people tend to wrongly evaluate results of their own work.

2015/12/05

What Is The Difference Between Verification and Validation?

These two terms are closely related to software testing and quality assurance processes. Unfortunately, they are frequently confused though there is a big difference between them.