Titwroksh0pslcforsdqc 090730233058-phpapp01

340 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
340
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Titwroksh0pslcforsdqc 090730233058-phpapp01

  1. 1. 1 SLC Process forSLC Process for Software DevelopmentSoftware Development & Quality Control& Quality Control
  2. 2. 2 Md. Shaiful Islam B.Sc. in Computer Science University of Chennai, India. Training: Certified Software Test Professional (CSTP) Experience: 4 years in Software Testing
  3. 3. 0011 0010 1010 1101 0001 0100 1011 3 • Software Lifecycle Models • SLC Process in Industry • Quality Control • Q & A
  4. 4. 0011 0010 1010 1101 0001 0100 1011 4 • Waterfall or Linear Sequential • Rapid Application Development • Incremental • Prototyping • Spiral • Joint Application Development • Rational Unified Process • Agile Software Development
  5. 5. 0011 0010 1010 1101 0001 0100 1011 5 System FeasibilitySystem Feasibility System Planning & Requirement Analysis System Planning & Requirement Analysis System DesignSystem Design CodingCoding IntegrationIntegration ImplementationImplementation Operation & Maintenance Operation & Maintenance
  6. 6. 0011 0010 1010 1101 0001 0100 1011 6 Business Modelling Business Modelling Data Modelling Data Modelling Process Modelling Process Modelling Application Module Generation Application Module Generation Testing & Delivery Testing & Delivery Business Modelling Business Modelling Data Modelling Data Modelling Process Modelling Process Modelling Application Module Generation Application Module Generation Testing & Delivery Testing & Delivery Team #1Team #1 Team #2Team #2
  7. 7. 0011 0010 1010 1101 0001 0100 1011 7 AnalysisAnalysis DesignDesign CodingCoding TestingTesting Delivery of 1st increment Delivery of 1st increment Increment 1Increment 1 AnalysisAnalysis DesignDesign CodingCoding TestingTesting Delivery of 2nd increment Delivery of 2nd increment Increment 2Increment 2 AnalysisAnalysis DesignDesign CodingCoding TestingTesting Delivery of 3rd increment Delivery of 3rd increment Increment 3Increment 3
  8. 8. 0011 0010 1010 1101 0001 0100 1011 8 • Requirements are development in a series of iteration • Discussion with client regarding overall system objectives • Identify requirements • Conceptual or Gross Design • Develop Prototype • Obtain feedback • Refine requirements
  9. 9. 0011 0010 1010 1101 0001 0100 1011 9 • More of a project management strategy and approach; • Development team, customer management and user group work together; • Any lifecycle model is used; • Lifecycle activities may differ;
  10. 10. 0011 0010 1010 1101 0001 0100 1011 10 Bespoke Software Development Bespoke Software Development SLC Process for Software Development SLC Process for Software Development Enhancement of Existing Software (Large/ Medium) Enhancement of Existing Software (Large/ Medium) System AnalysisSystem Analysis System DesignSystem Design Prepare System SpecificationPrepare System Specification DesignDesign Coding/ ConstructionCoding/ Construction TestingTesting Coding/ ConstructionCoding/ Construction TestingTesting ImplementationImplementation Maintenance (During Warranty Period)Maintenance (During Warranty Period) Implementation & AcceptanceImplementation & Acceptance
  11. 11. 0011 0010 1010 1101 0001 0100 1011 11 • Template followed, either SSADM or OOAD; • 4 types of requirements are considered – Customer Requirements; – Product Requirements; – Interface Requirements; – Implementation Requirements. • Input and output requirements are identified • Identify acceptance criteria with reference to – Scope – Functionality – Performance – Security
  12. 12. 0011 0010 1010 1101 0001 0100 1011 12 • Draft implementation Plan • Identify hardware, software and infrastructure requirement • Review • Approves and baseline • Update RTM
  13. 13. 0011 0010 1010 1101 0001 0100 1011 13 • Template followed, either SSADM or OOAD • Choose effective design methodology and standards • Prepare Both HLD and LLD • Product or product component requirements are designed • Design PI activities; • Decide on product acquisition type
  14. 14. 0011 0010 1010 1101 0001 0100 1011 14 • Review • Approve and Baseline • Update RTM
  15. 15. 0011 0010 1010 1101 0001 0100 1011 15 • Coding is started as per Schedule; • Done as per SDD and other required input formats; • Coding standard is followed; • Code elements are brought under Configuration Management at each milestone; • Conduct code review; • Update RTM; • Assemble product components as per design;
  16. 16. 0011 0010 1010 1101 0001 0100 1011 16 • Documentation is done as follows – Team member prepares manuals; – Work hand in hand with other member throughout development lifecycle; – Documents are reviewed and approved; – Documents are configuration controlled; – Final version is verified.
  17. 17. 0011 0010 1010 1101 0001 0100 1011 17 • Done as per QC Plan • Review and Testing Process and Guidelines for Review and Testing is followed • PM keeps record of identified defects • Test result is reviewed and approved • Delivery package is prepared
  18. 18. 0011 0010 1010 1101 0001 0100 1011 18 Software Testing & Quality Control • Testing is a process of evaluating a system by manual or automation means and verify that it satisfies specified requirements or identify difference between expected and actual result. • Quality provides customer satisfaction for the first time and every time. It is the factor affecting an organizations long term performance and improves productivity and competitiveness.
  19. 19. 0011 0010 1010 1101 0001 0100 1011 19 Why Testing? • Software testing is important as it may cause mission failure, impact on operational performance and reliability if not done properly. • Deliver quality software products, satisfy user requirements, needs and expectation. • Uncover defects before the products install in production, it can save a huge loss.
  20. 20. 0011 0010 1010 1101 0001 0100 1011 20 Participants in Testing • Software Customer • Software User • Software Developer • Tester • Information Service Management • Senior Organization Management
  21. 21. 0011 0010 1010 1101 0001 0100 1011 21 Recent Major Computer System Failures According to news reports in April’04 a software bug was determined to be a major contribution to the 2003 Northeast blackout, the worst power system failure in North American history. The failure involved loss of electrical power to 50 million customers, forced shutdown of 100 power plants, and economic losses estimated at $6 billion. The bug was reportedly in one utility company’s vendor_supplied power monitoring and management systems, which was unable to correctly handle and report on an unusual confluence of initially localized events. The error was found and corrected after examining million of lines of code.
  22. 22. 0011 0010 1010 1101 0001 0100 1011 22 Software Development Life Cycle • Requirement- SRS (Software Requirement Specification) SRAS (Software Requirement & Analysis Specification) FS (Functional Specification) • Design- HLD (High Level Design) LLD (Low Level Design) • Coding- According to code format • Testing • Implementation • Maintenance
  23. 23. 0011 0010 1010 1101 0001 0100 1011 23 Write Requirement Acceptance Test Logical Design Physical Design Code Test Requirement Test Design Test Design Unit Test Build Software Integration Test System Test Install Build System w-Model
  24. 24. 0011 0010 1010 1101 0001 0100 1011 24 Testing Economic & Cost Continuous Test Accumulated Test Cost Accumulated Error Remaining Development Cycle Accumulated Error Remaining Accumulated Test Cost $5820Production0$1690 $1824Testing12$480 $4218Code600 $2515Design400 $1010Requirement200 Traditional Test
  25. 25. 0011 0010 1010 1101 0001 0100 1011 25 Testing Type • Static (Review) • Dynamic (Execution) Static: • Only review not execution of the program Dynamic: • Structural (logic, white box testing, developer) • Functional (no logic, black box testing, tester)
  26. 26. 0011 0010 1010 1101 0001 0100 1011 26 Structural Testing • Concerned with testing the implementation of the program • Focus on the internal structure of the program • The intention of structural testing is not to be exercise all the different I/P or O/P condition but to exercise the different programming structure and the data structure of the program
  27. 27. 0011 0010 1010 1101 0001 0100 1011 27 Functional Testing • Structure of the program is not considered • Test cases are decided base on the requirements or specification of the program or module • Hence it is called “Black Box” testing
  28. 28. 0011 0010 1010 1101 0001 0100 1011 28 Some Definition What is Test Plan? • Road map for the entire testing activity What are Test Cases? • Set of procedures which we execute in our system to find defects What is Defects? • A defect is a variance from a desired product attributes • Variance from customer/user expectation
  29. 29. 0011 0010 1010 1101 0001 0100 1011 29 Primary Role of Software Testing • Determine whether the system meets specification (Producer View) • Determine whether the system meets business and user needs (Customer View) Role of Tester: Find defect not correcting the defects Classification of Defects: • Wrong (ER! = AR) • Missing (Missing some point) • Extra (Extra point)
  30. 30. 0011 0010 1010 1101 0001 0100 1011 30 Testing Levels • Unit Testing • Integration Testing • System Testing & • Application Under Test (AUT) or User Acceptance Test (UAT)
  31. 31. 0011 0010 1010 1101 0001 0100 1011 31 Unit Testing • LLD • Module Testing • Individually Testing • White Box Testing • Developer job • Test each module individually • Follow White Box Testing (logic of the program)
  32. 32. 0011 0010 1010 1101 0001 0100 1011 32 Integration Testing • LLD+ HLD (Developer+ Tester) • Communication+ Data Flow • WB+ BB= Gray Box • Integrate two or more module ie. Communicate between modules • Follow a White Box Testing (testing the codes)
  33. 33. 0011 0010 1010 1101 0001 0100 1011 33 System Testing • Confirms that the system as a whole delivers the functionality originally required. • Follow Black Box Testing • Functionality Testing, Tester job
  34. 34. 0011 0010 1010 1101 0001 0100 1011 34 User Acceptance Testing • Building the confidence of the client and users is the role of the acceptance testing phase • It is depend on the business scenario • Red Box Testing (crucial)
  35. 35. 0011 0010 1010 1101 0001 0100 1011 35 Testing Techniques • White Box testing – Statement coverage, Condition, Decision, Loop, (code coverage analysis) • Black Box testing • Incremental testing • Thread testing
  36. 36. 0011 0010 1010 1101 0001 0100 1011 36 White Box Testing • Statement Coverage: Execute all statements at least once • Decision Coverage: Execute each decision direction at least once • Condition Coverage: Execute each decision with all possible outcome at least once
  37. 37. 0011 0010 1010 1101 0001 0100 1011 37 Black Box Testing • Equivalence Partitioning • Boundary Analysis • Error Guessing
  38. 38. 0011 0010 1010 1101 0001 0100 1011 38 Equivalence Partitioning • A subset of date that is representative of a larger class • For example, a program which edits credit limits within given range ($10000-$15000) would have 3 equivalence classes a. Less than $10000 (Invalid) b. Between $10000 and $15000 (Valid) c. Greater than $15000 (Invalid)
  39. 39. 0011 0010 1010 1101 0001 0100 1011 39 Boundary Analysis • A technique that consists of developing test cases and data that focus on the input and output boundaries of a given function • In the same credit limits example boundary analysis would test: • Lower Boundary: Plus or minus 1 ($9999 and $10001) • On the Boundary: ($10000 and $15000) • Upper Boundary: Plus or minus 1 (14999 and 15001)
  40. 40. 0011 0010 1010 1101 0001 0100 1011 40 Error Guessing • Based on the theory that test cases can be developed based on experience of the test engineer • For example, in an example where one of the I/P is the date, a test engineer might try February 29,2001 • One more example is, according to newspaper reports Microsoft co. losses $100 million only because their programmer has lack of knowledge in geographical knowledge.
  41. 41. 0011 0010 1010 1101 0001 0100 1011 41 Incremental Testing Top down and Bottom up. A disciplined method of testing the interfaces between unit-tested programs as well as between system components Type: Top-down that is HLD Bottom-up that is LLD Top-down: Begins testing from the top of the module hierarchy and works down to the bottom using interim stabs to simulate lower interfacing modules or programs Bottom-up: • Begins testing from the bottom of the hierarchy and works up to the top • Bottom-up testing is required the development of driver modules which provide the test I/P, call the module or program being tested, and display test O/P
  42. 42. 0011 0010 1010 1101 0001 0100 1011 42 Thread Testing • A technique often used during early integration testing • Demonstrate key functional capabilities by testing a string of units that accomplish a specific function in the application
  43. 43. 0011 0010 1010 1101 0001 0100 1011 43 Criteria of Testing Level Solve the defectAnytime find defectRegression Exit Level Deliver to CustomerImplementation Software UAT ER=ARComplete Integration Testing System Testing Communication & data flow Complete Unit Testing Integration Testing Logic 100% complete Base CodeUnit Testing Entry Level
  44. 44. 0011 0010 1010 1101 0001 0100 1011 44 Special Test Types Performance: • The time taken to complete task • How performance is measured? a. Process speed b. Response time c. Efficiency
  45. 45. 0011 0010 1010 1101 0001 0100 1011 45 Performance Test • Load (No. Of users) • Stress (Response time that polling down the Resource) • It is designed to test the run time performance of software • It occurs throughout all steps in the testing process (test levels)
  46. 46. 0011 0010 1010 1101 0001 0100 1011 46 Load · The maximum no of users a system can support is called “Load” · How large can the database grow before performance degrades · At what point will more storage space be required?
  47. 47. 0011 0010 1010 1101 0001 0100 1011 47 Stress • Running the software under less conditions • Low memory, low disk space and so on • Limiting them to their base minimum • Pull down resources
  48. 48. 0011 0010 1010 1101 0001 0100 1011 48 Benefits Realization Test • It is a test or analysis conducted offer an application is moved into production • To determine whether the application is likely to deliver the original benefits • This is conducted by the user or client group who requested the projects
  49. 49. 0011 0010 1010 1101 0001 0100 1011 49 Configuration, Compatibility, Recovery & Regression Test • This testing is performed finding the various supporting combination of hardware & software • It is nothing but combination of software itself • It is nothing but a features built into the application for handling interruption • Returning to the actual points/page in the application • Tester-> 1000-test cases-> 100 defects-> developer-> tester
  50. 50. 0011 0010 1010 1101 0001 0100 1011 50 Roles and Responsibilities Test Manager: Manages the entire testing activity (approve) Test Leader: Prepare the test plan, review test cases, monitor defect tracking, and provide resources. Test Engineer: Prepare test case design (test risk & reports)
  51. 51. 0011 0010 1010 1101 0001 0100 1011 51 Test Environment • Software Requirements • Hardware Requirements • Tools that are needed
  52. 52. 0011 0010 1010 1101 0001 0100 1011 52 Test Case Design (Manual) • Test Case ID: Sys_xyz_01 (unique) • Test Case Description: A short note about the testing • Test Case Procedure: Each & every step has to be mention in test case procedure • Test I/P or Test Data: Input data • Expected Result: The expected outcome of test cases (as per requirements) • Test Execution: What we have received after execution that is actual result. • Expected Result = Actual Result, the test is pass otherwise it is fail. • Test Log: Test log means how many test cases executed and how many pass and fail? (Result)
  53. 53. 0011 0010 1010 1101 0001 0100 1011 53 Bug Life Cycle New (Tester) Open (Developer) Fixed (Developer) Closed (Tester) Or Reopen (Developer)
  54. 54. 0011 0010 1010 1101 0001 0100 1011 54 Defect Tracking All the failed test execution/defects will come under the defect tracking Defect Tracking Contains: • Defect ID: Sys_Def_xyz_01 • Test Case ID: Sys_xyz_01 • Defect Description • Status of Defect • Reproducible • Detected by whom • Assigned to whom Reproduce: If developer asks to reproduce any defect tester should reproduce
  55. 55. 0011 0010 1010 1101 0001 0100 1011 55 PassNot acceptedIt shouldn’t accept Agent Name<4chars & Password “mercury” Testing “OK” button04 FailAcceptedIt shouldn’t accept Agent Name<4chars & Password “mercury” Testing “OK” button03 FailNot acceptedIt should accept Agent Name>4 chars & Password “mercury” Testing “OK” button02 PassAcceptedIt should accept Agent Name>4 chars & Password “mercury” Testing “OK” button01 StatusARERTest CasesDescriptionID Test Cases
  56. 56. 0011 0010 1010 1101 0001 0100 1011 56 • Conduct audit before final delivery • Audit activities are carried out as per QA Process • Install software in operation environment – Installation certificate is obtained – Installation statistics are recorded • Acceptance testing are carried out • User training is provided (if within scope) • Obtain acceptance certificate – Acceptance note; – Acceptance over phone/fax/email
  57. 57. 0011 0010 1010 1101 0001 0100 1011 57 Technical Groups • http://tech.groups.yahoo.com/group/dot_net_com munity/ • http://tech.groups.yahoo.com/group/sqa_banglade sh/ • http://www.sqabd.com
  58. 58. 0011 0010 1010 1101 0001 0100 1011 58 Thank You
  59. 59. 0011 0010 1010 1101 0001 0100 1011 59

×