Se Training Mannual

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Se Training Mannual as PDF for free.

More details

  • Words: 2,375
  • Pages: 12
Software Engineering Training Material

Software Engineering – Training Material

SOFTWARE ENGINEERING •

Introduction About the company Netkraft is a leading provider of creative Web professional services called eBusiness services. eBusiness is the complex fusion of business processes, enterprise applications, and organizational structure necessary to create a highperformance business model. In this environment, widespread use is made of synergistic clusters, business ecosystems, coalitions, co-operative networks, or outsourcing to create end-to-end value streams to link businesses, customers and suppliers. NetKraft has built a reputation for quality products, outstanding customer support and business values.



Software Industry   





In India itself, Software industry growth has been phenomenal. IT field has enormously grown in the past 50 years. IT industry in India is expected to touch 10,000 crores of which software share is dramatically increasing.

Software Crisis 

Software cost/schedules are grossly inaccurate. Cost overruns of several times, schedule slippage’s by months, or even years are common.



Productivity of people has not kept pace with demand Added to it is the shortage of skilled people.



Quality of software is than desired Error rates of released software leave customer dissatisfied…Threatening the very business.

Software Myths 

Management Myths      



Software Management is different. Why change or approach to development? We have provided the state-of-the-art hardware. Problems are technical If project is late, add more engineers. We need better people.

Developers Myths  We must start with firm requirements  Why bother about Software Engineering techniques, I will go to terminal and code it.  Once coding is complete, my job is done.  How can you measure the quality..it is so intangible.

QMS/SE/TR01

Version 1.0

Page 2 of 12

Software Engineering – Training Material



Customer’s Myth  A general statement of objective is good enough to produce software.  Anyway software is “Flexware”, it can accommodate my changing needs.



What do we do ?    





Use Software Engineering techniques/processes. Institutionalize them and make them as part of your development culture. Adopt Quality Assurance Frameworks : ISO, CMM Choose the one that meets your requirements and adopt where necessary.

Software Engineering: 

Software Engineering is an engineering discipline concerned with the practical problems of developing large software.



Software Engineering discipline tracks both technical & non-technical problems associated with software development.



Challenge for Software Engineers is to produce high quality software with finite amount of resources & within a predicted schedule.



Apply Engineering Concepts to developing Software



Apply Engineering Concepts to removing crisis.

Software Quality Assurance: Software quality assurance Software QA involves the entire software development PROCESS - monitoring and improving the process, making sure that any agreedupon standards and procedures are followed, and ensuring that problems are found and dealt with. It is oriented to 'prevention'. OR The purpose of Software Quality Assurance is to provide management with appropriate visibility into the process being used by the software project and of the products being built. Software Quality Assurance involves reviewing and auditing the software products and activities to verify that they comply with the applicable procedures and standards and providing the software project and other appropriate managers with the results of these reviews and audits.



Verification:  

Verification typically involves reviews and meetings to evaluate documents, plans, code, requirements, and specifications. The determination of consistency, correctness & completeness of a program at each stage

QMS/SE/TR01

Version 1.0

Page 3 of 12

Software Engineering – Training Material



Validation:  



Validation typically involves actual testing and takes place after verifications are completed. The determination of correctness of a final program with respect to its requirements.

Software Engineering Process Consists of Three generic Phases:  Definition, Development, and Maintenance. 1. Definition (What) Customer Contact, Planning, Requirement Analysis. 2. Development Phase (How) Design, Coding, Testing. 3. Maintenance Phase (Change) Correction, Adaptation, Enhancement, Reengineering. 4. Support Activities Quality Assurance, Configuration Management.

Software Life Cycle Models •

Prototyping Model



Waterfall Model – Sequential



Spiral Model



V Model - Sequential

Prototyping Model of Software Development A prototype is a toy implementation of a system; usually exhibiting limited functional capabilities, low reliability, and inefficient performance. There are several reasons for developing a prototype. An important purpose is to illustrate the input data formats, messages, reports and the interactive dialogues to the customer. This a valuable mechanism for gaining better understanding of the customer’s needs. Another important use of the prototyping model is that it helps critically examine the technical issues associated with the product development. Requirements Gathering

Quick Design Refine Requirements Customer Suggestions

Build Prototype

Customer evaluation of the prototype

Design

QMS/SE/TR01

Version 1.0

Page 4 of 12

Software Engineering – Training Material

Acceptance by Customer Implement

Test

Maintain

Classic Waterfall Model In a typical model, a project begins with feasibility analysis. On successfully demonstrating the feasibility of a project, the requirements analysis and project planning begins. The design starts after the requirements analysis is complete, and coding begins after the design is complete. Once the programming is completed, the code is integrated and testing is done. On successful completion of testing, the system is installed. After this, the regular operation and maintenance of the system takes place. System Feasibility

Feasibility Report

Validation

Requirements Analysis And Project Planning Validation

Requirement Document And Project Plan System Design

Detailed Design Verification

System Design Document

Verification

Detailed Design Document Coding

Programs

Testing and Integration

Verification

Test Plan, Test Report And Manuals Installation Operation and Maintenance Installation

QMS/SE/TR01

Version 1.0

Page 5 of 12

Software Engineering – Training Material

Report Typical Spiral Model Developed by Barry Boehm in 1988. it provides the potential for rapid development of incremental versions of the software. In the spiral model, software is developed in a series of incremental releases. During early iterations , the incremental release might be a paper model or prototype. •

Each iteration consists of Planning, Risk Analysis, Engineering, Evaluation.

Construction

&

Release

&

Customer

Customer Communication: Tasks required to establish effective communication between developer and customer. Planning: Tasks required to define resources, timelines, and other project related information. Risk Analysis: Tasks required to assess both technical and management risks. Engineering: Tasks required to build one or more representatives of the application. Construction & Release: Tasks required to construct, test, install and provide user support (e.g., documentation and training) Customer evaluation: Tasks required to obtain customer feedback based on evaluation of the software representations created during the engineering stage and implemented during the installation state.

QMS/SE/TR01

Version 1.0

Page 6 of 12

Software Engineering – Training Material

V – Process Model RFP

Process Feedback

Proposal Study

Proposal Review

(Project Plan)

Accepted Proposal

Requirement Study

Project Process Study

Project Process

Actual Proposal

Project Closure Report

Working System

Acceptance Requirement Review

Acceptance Test

Test Plan

Requirement Specification

Deliverable System Functional Specification Review

System

Analysis Functional Specification

Approved S.R.S Design Document

System Testing

System

Certification

Test Plan

Executable System Integrated Tested Code

Design Review

Int.Test Plan.

Integration

Design Specification

Detailed Design

Integration Testing Unit Tested Code

Approved S.D.S

Unit Tested Code Program Specification Review

Design Specification

Unit Unit Test T.P

Approved S.P.S Coding

Test Audit Code

Entry Criteria Code Inspection

Design

QMS/SE/TR01

Customer Review Delivered System

Approved S.R.S

Legend

Process Review

Version 1.0

Task

Validation Exit Criteria

Page 7 of 12

Software Engineering – Training Material

What makes a good test engineer? A good test engineer has a 'test to break' attitude, an ability to take the point of view of the customer, a strong desire for quality, and an attention to detail. Tact and diplomacy are useful in maintaining a cooperative relationship with developers, and an ability to communicate with both technical (developers) and non-technical (customers, management) people is useful. Previous software development experience can be helpful as it provides a deeper understanding of the software development process, gives the tester an appreciation for the developers' point of view, and reduce the learning curve in automated test tool programming. Judgment skills are needed to assess high-risk areas of an application on which to focus testing efforts when time is limited. What makes a good Software QA engineer? The same qualities a good tester has are useful for a QA engineer. Additionally, they must be able to understand the entire software development process and how it can fit into the business approach and goals of the organization. Communication skills and the ability to understand various sides of issues are important. In organizations in the early stages of implementing QA processes, patience and diplomacy are especially needed. An ability to find problems as well as to see 'what's missing' is important for inspections and reviews. •

Testing      

An examination of the behavior of a program by executing on sample data sets. Testing comprises of set of activities to detect defects in a produced material. To unearth & correct defects To detect defects early & to reduce cost of defect fixing To avoid user detecting problems To ensure that product works as users expected it to.

Why Testing ? • • • •

To To To To

unearth and correct defects. detect defects early and to reduce cost of defect fixing. ensure that product works as user expected it to. avoid user detecting problems.

QMS/SE/TR01

Version 1.0

Page 8 of 12

Software Engineering – Training Material

Types of Tests

Contract

Other Tests

System Req. Spec.

System Tests

Functional Spec.

Functional Tests

H.LD. L.L.D.

Integration Testing Unit Testing

Test Life Cycle •

Identify Test Candidates



Test Plan



Design Test Cases



Execute Tests



Evaluate Results



Document Test Results



Casual Analysis/ Preparation of Validation Reports



Regression Testing / Follow up on reported bugs.

Testing Techniques • • • •

Black Box Testing White Box Testing Regression Testing These principles & techniques can be applied to any type of testing.

Black Box Testing Testing of a function without knowing internal structure of the program. White Box Testing Testing of a function with knowing internal structure of the program.

QMS/SE/TR01

Version 1.0

Page 9 of 12

Software Engineering – Training Material

Regression Testing To ensure that the code changes have not had an adverse affect to the other modules or on existing functions. Functional Testing   

 

Study SRS Identify Unit Functions For each unit function • Take each input function • Identify Equivalence class • Form Test cases • Form Test cases for boundary values • From Test cases for Error Guessing Form Unit function v/s Test cases, Cross Reference Matrix Find the coverage

Unit Testing: The most 'micro' scale of testing to test particular functions or code modules. Typically done by the programmer and not by testers • Unit - smallest testable piece of software • A unit can be compiled/ assembled/ linked/ loaded; and put under a test harness • Unit testing done to show that the unit does not satisfy the functional specification and/ or its implemented structure does not match the intended design structure Integration Testing: Integration is a systematic approach to build the complete software structure specified in the design from unit-tested modules. There are two ways integration performed. It is called Pre-test and Pro-test. 1. Pre-test: the testing performed in Module development area is called Pre-test. The Pre-test is required only if the development is done in module development area. 2. Pro-test: The Integration testing performed in baseline is called pro-test. The development of a release will be scheduled such that the customer can break down into smaller internal releases. Alpha testing: Testing of an application when development is nearing completion minor design changes may still be made as a result of such testing. Typically done by end-users or others, not by programmers or testers. Beta testing:

QMS/SE/TR01

Version 1.0

Page 10 of 12

Software Engineering – Training Material

Testing when development and testing are essentially completed and final bugs and problems need to be found before final release. Typically done by end-users or others, not by programmers or System Testing: • • •

A system is the big component System testing is aimed at revealing bugs that cannot be attributed to a component as such, to inconsistencies between components or planned interactions between components Concern: issues, behaviors that can only be exposed by testing the entire integrated system (e.g., performance, security, recovery).

Volume Testing: The purpose of Volume Testing is to find weaknesses in the system with respect to its handling of large amounts of data during short time periods. For example, this kind of testing ensures that the system will process data across physical and logical boundaries such as across servers and across disk partitions on one server. Stress testing: This refers to testing system functionality while the system is under unusually heavy or peak load; it's similar to the validation testing mentioned previously but is carried out in a "high-stress" environment. This requires that you make some predictions about expected load levels of your Web site. Usability testing: Usability means that systems are easy and fast to learn, efficient to use, easy to remember, cause no operating errors and offer a high degree of satisfaction for the user. Usability means bringing the usage perspective into focus, the side towards the user. Security testing: If your site requires firewalls, encryption, user authentication, financial transactions, or access to databases with sensitive data, you may need to test these and also test your site's overall protection against unauthorized internal or external access. Test Plan: A Test Plan is a detailed project plan for testing, covering the scope of testing, the methodology to be used, the tasks to be performed, resources, schedules, risks, and dependencies. A Test Plan is developed prior to the implementation of a project to provide a well defined and understood project roadmap. Test Specification: A Test Specification defines exactly what tests will be performed and what their scope and objectives will be. A Test Specification is produced as the first step in implementing a Test Plan, prior to the onset of manual testing and/or automated test

QMS/SE/TR01

Version 1.0

Page 11 of 12

Software Engineering – Training Material

suite development. It provides a repeatable, comprehensive definition of a testing campaign

QMS/SE/TR01

Version 1.0

Page 12 of 12

Related Documents

Se Training Mannual
November 2019 10
Cp Training Mannual (f)
October 2019 9
Training Mannual On M&e
November 2019 10
Mannual
November 2019 13
Digilock Mannual
November 2019 19