Sunday, 3 November 2013

SDLC Model/Methodologies_Spiral Model

Whenever we deal with research applications those are not possible to implement the application successfully at early stages because of the lack of clear requirements. At that situation application has to be developed module wise and deliver to the client for their working purpose, then spiral model is applicable to handle the situation.
Each module will have individual SDLC process.
When to choose: Research kind of Application, No Clear Requirements
Advantage: Risk management is easy; quality application can be produces, less resource requirement.
Disadvantage: It is a time consuming process.
 
Interview Questions_030: Why should we choose Spiral Model??


Saturday, 2 November 2013

SDLC Models_Prototype Model


1)      Prototype Model
In this model, after the requirement analysis the
development team will develop the Quick Design. As per the
quick design a prototype (dummy application) is developed
and presents in front of the client for evaluation.
After presentation collects the
feedback

client satisfies               à Immediately actual coding of the application will be started by  the development        team

      client satisfies (Not)   à Refines the requirement develops the prototype and evaluation work until  the client satisfies with the design.

      Once the client satisfies with the quick design actual coding is started, after that Testing team validates the application before releasing the project.

When to choose: when client is not sure about requirements, No Clear Requirements
Advantage: Before the coding phase company will get complete requirements about the client’s business
Disadvantage:
§  Developing prototypes is an additional activity to the development team.

§  Prototypes are not reusable.

§  More cost
 
Interview Questions_025: When should we opt for Prototype model
Interview Questions_026: What do you mean by prototype?
Interview Questions_027: Suppose I have clear requirements. Shall I go for Prototype model?
Interview Questions_028: When we have short span is it good to for prototype model to deliver the quality product??
Interview Questions_029: Can we build the application with 100% quality???
 
 

SDLC Models/Methodologies_1)Waterfall Model


Depends on the client’s requirements and Time period Management team decides the SDLC Model to implement the development process. We have several models among them some important models are listed below.

1)      Waterfall model                                                              


·      Whenever there is requirement for small applications which have clear requirements then Management opt for waterfall model.

·         This model contains all the SDLC phases.

·         After the completion of one phase the next phase will be started.

·         It follows linear sequential approach.

Requirements collection à Requirement Analysis à Design à Coding à Testing à Release and Maintenance.

When to choose: Small Application, Clear Requirements

Advantage: Simple and easy to develop the applications.

Disadvantage: Defect identification in early stages is not possible and this model will not support dynamic changes in the requirements.
 
Interview Questions_019: Difference between requirement collection and analysis
Interview Questions_020: On what basis  you decide whether the application is small or big?
Interview Questions_021: I have a client from some XYZ company related to supermarket. Shall we choose the waterfall model. If so, explain the total development process for that application..
Interview Questions_022: Can we get 100% clear requirements at requirements collection before coding phase??
Interview Questions_023: Now I know that there are dynamic changes in the requirements . Can I opt for waterfall Model?
Interview Questions_024: Using waterfall model I have developed the application . Now Want to change the requirements . What kind of situations I should face now??
 
 

Friday, 1 November 2013

Quality Management

Management Team
          We may find the words like quality assurance and quality control in the job description section while searching the job notifications to apply. Those are a bit tricky words. But, no problem we will remember in a shortcut method.

Quality Management
(The team which manages the process of preventing the defects in the development and to ensure that end -product is defect free at the time of release)

//                             \\
 //                                \\
                                                           //                                   \\


                                                               Quality Assurance                                       Quality control
              ( The Team which conducts reviews on                                              ( The team validates the  
development process and improves the team                        application functionality process before the 
strength with suggestions)                                                       release)

Interview Questions_018: Difference between Quality Assurance and Quality Control??
                                                             

Common Problems


Common Problems faced by the stakeholders while developing the software application.


  • Miss communication among the group.
  • Poor requirements.
  • Dynamic changes in requirements.
  • Inadequate Testing.
  • Unrealistic Schedule.

Whenever we say checklist should remember the following four terms


  • Completeness
  • Correctness
  • Understandability
  • Reliability

Interview Questions_014: What is reliability?
Interview Questions_015: Why do dynamic changes occur in requirements??
Interview Questions_016: Can't we freeze the requirements after collection?
Interview Questions_017: One person came to give you his business project. So what you will do? (real time question asked by HR at my NCR interview)??

Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC) is the development process of s/w project/product to fulfill the client's requirements within specified budget and time. The entire process is carried out in different phases.

1) Requirement collection
Business Analyst ( BA) goes to client place gathers the requirements by conducting meetings and prepares Business Requirement Specification (BRS) Document. After that Conducts feasibility study with crew by considering S/w quality factors. If the project is acceptable BA release the Request for proposal (RFP) and service level agreement (SLA) documents.

2) Requirement Analysis
Immediately after the release of RFP and SLA documents, using the BRS document the System Analyst (SA) prepares the Functional Requirement Specification (FRS) documents by analysing the client's requirements.

3)Design
With the help BRS and FRS documents as inputs Design Architect (DA) generates GUI design document, Database Design Document, Application design (Both HLD and LLD) documents

GUI design document contains dummy screenshots of an application.
Database Design Document contains structure of the tables in the database.
HLD (High level Design) describes the number of modules in the application.
LLD (Low level Design) describes the internal logic of each module in the application.

4) Coding 

By considering HLD and LLD as inputs Software development team starts implementing the logic in a programming language and generates the source code (.exe files) as output.

5) Testing

On the source code

development team performs  --> unit testing , Integration Testing using WBT Techniques.
Testing team performs  --> System Testing using BBT Techniques.
Client performs  -->User Acceptance Testing and gives feedback

6) Release & Maintenance

If the customer/client satisfies with the application then the application is installed at client's location is called Release.
According to the guidelines in SLA document Change control Board (CCB) will provide maintenance to the application.


I think ..now it is easy to remember the SDLC easily.

Interview Questions_010:  What is SDLC?
Interview Questions_011: Difference between HLD and LLD?
Interview Questions_012: When the Testing team is involved in SDLC?
Interview Questions_013:  When can SDLC will get stopped?

Roles and Responsibilities of the test engineer

                 


  • Analyze the application functionality using Business Requirement Specification (BRS) and Functional Requirement Specification (FRS) documents.
  • Identify Test Scenarios.
  • Developing Test Cases.
  • Implement Test Scripts in Automation Tool.
  • Reviews of Test Cases and Test Scripts.
  • Execution of Test Cases and Test Scripts.
  • Defect Reporting and  Prioritizing defects.
  • Performing Re-Testing and Regression Testing.

Now you may get lots of doubts, "What are these words :( " Don't worry. I will explain each term :)

Business Requirement Specification (BRS)- The document which describes the client's business needs.
Functional Requirement Specification (FRS)- The document describes the functionality of the application as per BRS document.
Test Scenario- The situation / conditions which we are going to validate.
Test Case-It is the set of steps with user interaction and subsequent reaction from the system in order to validate the application functionality.
Test Script- Instructions which are given in the automation tool to validate the application.
Defect Reporting -Intimating about the identified defects while execution to the development team is known as defect reporting.
Re-Testing- After fixing the defect, testing the application is called re-testing.
Regression Testing- Testing  to check the effect of defect fixing work on other areas of application.

Other Important terms for now.....

Defect/ Bug Fixing: Solving the defect is known as defect fixing and it will be done by s/w developers.
Debugging: Identifying the root for causing the defect is known as debugging using Root Cause Analysis (RCA).

Interview Questions_006: difference between BRS and FRS documents?
Interview Questions_007: Difference between Re-Testing and Regression Testing?
Interview Questions_008:Define the terms Test Scenario, Test Case, Test Script, Defect Reporting , Defect/Bug Fixing, Debugging