Advertisement
Guest User

Untitled

a guest
Jul 24th, 2017
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.53 KB | None | 0 0
  1. https://pastebin.com/9Ua5giHB
  2.  
  3.  
  4. --------CHAPTER 1----------
  5. Product Backlog
  6. Prioritized list of desired features
  7. Change be changed with feedback
  8.  
  9. Sprint
  10. Timeframe with development goals
  11. Anything left imcomplete is prioritized in the following sprint
  12. At the end of each sprint the team should have a potentially shipable product
  13. If the product needed to be shipped at anytime, the previously completed sprint should be usable.
  14.  
  15. Sprint Backlog
  16. A mini-Product backlog just for the sprint
  17.  
  18. Sprint Planning
  19. Product Owner talks about sprint goals
  20.  
  21. Sprint Review
  22. 1 hour per week
  23. Product is demoed to Team Owner and Stockholders for feedback
  24.  
  25. Sprint Restrospective
  26. At the end of the sprint the team gathers to ask
  27. What went well?
  28. What didn't and how do we fix it?
  29.  
  30. Daily Scrum
  31. Questions
  32. What have you done since last Daily standup?
  33. Wht are you going to do until the next daily standup?
  34. What impediments are standing in your way?
  35. 15 mins max
  36.  
  37. Roles
  38. Product Owner
  39. Create and Groom product backlog
  40.  
  41. Scrummaster
  42. Advocate for team,
  43. Responsible for removing ipediments
  44.  
  45. Development Team
  46. Responsible for implementing user stories
  47.  
  48. Benefits
  49. Delighted Customers
  50. Improved Return on Investment
  51. Reduced Costs
  52. Fast Results
  53. Scrum can best be applied to complex work
  54. Stakeholder's immediate Feedback
  55.  
  56. Waterfall
  57. Disadvantages
  58. No immediate Feedback
  59. Costly
  60. No way to pivot
  61. Lack customer interaction
  62. --------CHAPTER 2----------
  63. Plan Drive Sequential Development (PDSD)
  64. Good for well-defined, predictable projects unlikely to undergo signifigant changed
  65. All planning is done upfront (waterfall)
  66.  
  67. Agile Manifesto Values
  68. Individuals and Interactions OVER process and tools
  69. Working Software OVER Comprehensive Document
  70. Customer Collaboration OVER Contract Negotiation
  71. Responding to Change OVER Following a planning
  72.  
  73. Principle 1: Variablility and Uncertainty
  74. "Variability is good" Principle
  75. Create a single instance of a product rather than multiple
  76. Employ Iterative and Incremental Development
  77. Iterative: Things will get worse before they get better
  78. Incremental: Build some before you build all
  79. Uncertainties - To be reduced
  80. End Uncertainty: Uncertanty around final product
  81. Means Uncertainty: Uncertainty around the process to making the final product
  82. Customer Uncertainty: Uncertainty about what customer wants.
  83. Principle 2: Prediction and Adaption
  84. "Change is good" principle
  85. The later changes are made to the product the more expensive it is.
  86. Work harder earlier in development so change is cheaper
  87. Principle 3: Validated Learning
  88. ->Inspect->Adapt->Assume->Build->Feedback->REPEAT
  89. Principle 4: Work in Process
  90. Small Batches > Big Batches
  91. >>>>ASK PROFESSOR WHAT IS A BATCH<<<<
  92. >>>ALSO ASK WHAT IS REDUCED FLOW VARIABILITY<<<
  93. >>>CHAPTER 2 SLIDE 15<<<
  94. Why Smaller Batches are Better:
  95. Less time waiting for work to be done
  96. Faster Feedback
  97. Less Overhead
  98. Easier for teammembers to stay focused/see impact of their work
  99. Easier to schedule
  100. 100% worker utilization is bad (makes team inflexible)
  101. Principle 5: Progress
  102. "Measure progress" principle
  103. Focus on Value (money) of product in terms of progress
  104. Principle 6: Performance
  105. "Fast is good, quality is better" principle
  106. Cost of Delay
  107. Delays cost money, can you believe it.
  108. "Focus on Idle Work not Idle Workers."
  109.  
  110. --------CHAPTER 3----------
  111. Sprint (revisited)
  112. Duration should be consistent
  113.  
  114. Time Boxing
  115. "Good enough" is often enough
  116. Improves predictability of work being done
  117.  
  118. Reasons to change duration of sprint
  119. Product releasing before sprint ends
  120. Holidays
  121. Check if maybe the feedback from even shorter sprints is worth it
  122.  
  123. Unacceptable reason to change duration of sprint
  124. Team needs more time to fulfill sprint goals.
  125.  
  126. Cadence
  127. Rhythm of work
  128.  
  129. Velocity
  130. The amount of work that can be completed in a sprint
  131.  
  132. Allocation
  133. Each work day (10 for 2 weeks) is a story point
  134. Enough work to fill 80% of your story points should be allocated.
  135. ie: 1 month sprint should allocate 16 story points
  136.  
  137. Short Period of Time
  138. Easier to plan/Get Feedback
  139. Short Term success/gratification
  140. Bounded Error
  141. If something goes wrong, it goes wrong in a small way.
  142.  
  143. Checkpoints (sprint reviews)
  144.  
  145. Sprint Goal
  146. "Do this and that" <- What the goal should be
  147. Should be a "Business prupose"
  148. Should be refined during Sprint Planning
  149.  
  150. Change vs Clarification
  151. Change: "You idiot I wanted it this way" - Customer
  152. Clarification: "Hey are did you want this a specific way?" -Devs
  153.  
  154. Change causes dev team motivation and trust to deteriorate
  155.  
  156. No Goal Altering Changes
  157. This is a rule and certain situations can negate this rule
  158.  
  159. Sprint Termination
  160.  
  161. Abnormal Termination
  162. Sprint has been made invalid
  163. Termination is immediate
  164. Restrospective is performed immediately
  165. New Sprint Planning is performed immediately
  166. Next Sprint maybe variable length
  167.  
  168. Definition of "Done"
  169. Potentiall Shipable (I know you've heard it a dozen times)
  170. Product has a "State of Confidence"
  171. I guess this means you believe in the product
  172. Completes a "checklist"
  173. checklist here is the series of tasks that actually dictate when the code is done
  174. things like testing, debugging and acceptance tests.
  175. The definition can evolve over time
  176.  
  177. --------CHAPTER 4----------
  178. Sequential Product Development
  179. Provide specific details in what software needs to do.
  180.  
  181. Sequential Development
  182. ie: Waterfall
  183. Each development stage is rigid/static
  184.  
  185. Bidirectional Communication
  186. People who are not on the scrum team communicate with people who are on the scrum team.
  187. Conversations get more specific as progressive refinement kicks in
  188.  
  189. User Stories
  190.  
  191. Artifacts
  192. Alternative Documents used to support or replace user stories
  193. EX1: Artifact
  194. Bug report instead of user story
  195. EX2: Supporting Artifact
  196. UI Sketch to acompany the user story.
  197.  
  198. Level of Detail
  199. Epic
  200. Think Lord of the Rings, an Epic story happens over months
  201. Feature
  202. Think multiply, feature that takes several sprints
  203. User Story
  204. "Sprintable"
  205. Tasks
  206. Can make up a User story, done in hours.
  207. Neumonic
  208. EF U R N
  209. "F" you right now
  210.  
  211. Characteristics of User Story
  212. Independent
  213. No dependencies
  214. Negotiable
  215. Valuable
  216. To user
  217. Estimatable
  218. Should be competeably in a sprint
  219.  
  220. !!!!!!Ask professor what he means by this
  221. http://i.imgur.com/OtbmrOX.png
  222. Small
  223. Testable
  224.  
  225. Neumonic
  226. INVEST
  227.  
  228. Nonfunctional Requirements
  229. The "-itities"
  230. Such as reliability, availability, portability, scalability, usability, maintainability
  231. Does not have to fit the user story template (I <ROLE> WANT TO <FEATURE> SO I CAN <BENEFIT>)
  232.  
  233. Knowledge Acquisition
  234. Tasks or stories that are new to the team's methodology.
  235. ie: Learning to create a new feature, Proof of concepts, prototype construction
  236. Owner must be able to estimate the cost of knowledge aquisitions to weight whether it is worth doing.
  237.  
  238. Gathering User Stories
  239. Writing workshops (with customers)
  240. Brainstorming with Team+Owner+Stakeholders
  241.  
  242. Personas
  243. Role Playin customers
  244.  
  245. Top-Down approach
  246. Start at Epic and widdle down to User Story
  247.  
  248. Bottom-Up approach
  249. Collect User stories and synthesize them into Epics
  250.  
  251. Story Mapping
  252. One for each Epic
  253. Goes like this:
  254. Epic->Theme->Story
  255. http://i.imgur.com/8O1UsyK.png
  256. aka: Activity->Task->Subtask (Some guy named Patton)
  257.  
  258. Other methods
  259. Focus Groups
  260. Surveys
  261. Customer Voting
  262.  
  263. --------CHAPTER 5----------
  264. ***************************
  265. PBI - Product Backlog Items
  266. Desired business values to be implemented
  267.  
  268. Progressive Refinement
  269. Go from vague to specific as PBI's "approach a sprint"
  270.  
  271. !!!!!!!!
  272. Ask professor what "approach a sprint" means
  273. http://i.imgur.com/wfDqiaI.png
  274.  
  275. Item Types
  276. User Story Template:
  277. Feature
  278. Change
  279. User Story Template Without Role:
  280. Defect
  281. Do not user User Story Template:
  282. Technical Work
  283. Knowledge Aquision
  284.  
  285. DEEP - Product backlog Item Characteristics
  286. Detailed (See refinement)
  287. Epics should decompose in advance into sprint-ready items (ie: Usable at a moment's notice)
  288. Emergant (Changing)
  289. Estimated
  290. Bigger Items should sink near the bottom or be refined into smaller items
  291. Smaller the item, more accurate the estimate
  292. Prioritized
  293. Should be done for the next new sprints, less important for items near bottom of PB
  294.  
  295. ***************************
  296. Backlog Grooming
  297. Updating items in the PB
  298. Ensures items are ready to be put into a sprint
  299. ***Done by Product Owner
  300. ***10% of team's time spent grooming
  301. ***Can occur once a sprint, once a week or even daily
  302. Little to No Grooming in Waterfall
  303.  
  304. Ready Checklist
  305. List of things defined by team before an item can be moved into a sprint
  306. ie: Appropriately staffed
  307.  
  308. Must Have's and Nice to Have's
  309. Labels for PB items
  310. Higher items should be Must Have's
  311.  
  312. Wont have's
  313. Items that are below the release cut-off time.
  314.  
  315. Piplining
  316. Team should have 2 or 3 weeks work of User stories ready to go.
  317.  
  318. Hierarchical Backlogs
  319. The team's backlog is a subsection of items from a larger back log
  320. http://i.imgur.com/VHHgeoX.png
  321. Any team would ideally only work on a single backlog
  322.  
  323.  
  324. --------CHAPTER 6----------
  325.  
  326. Velocity
  327. Rate of tasks team can get done
  328. Work not value
  329. Assign a point value to items in the backlog
  330. Observe how many points a week your team completes
  331. http://i.imgur.com/EzOapya.png
  332.  
  333. Duration
  334. Given a number of item points and a velocity
  335. You can derive the amount of time an item should take
  336.  
  337. Estimations
  338. Value: Are not commitments
  339.  
  340. Use Relative Size
  341.  
  342. Ideal Days:
  343. Not the same as calendar days,
  344. work days can be interrupted
  345. number of staff members per day changes
  346. Initial Velocity
  347. Start with what the team thinks it can do and go from there
  348.  
  349. Plateauing
  350. Most velocities increase and eventually plateau
  351.  
  352. Do not use as a performance metric
  353. Causes "gaming the system"
  354.  
  355. Sprint Burndown
  356. History of Velocity
  357. Measured by
  358. Y=Remaining Effort
  359. X=Days
  360. http://i.imgur.com/k4mfGH0.png
  361. --------CHAPTER 7----------
  362.  
  363. Technical Debt
  364. Bad code that while not rewritten taxes the team's productivity and owner's money
  365.  
  366. Examples:
  367. Unfit design
  368. No longer a viable, not adapted to change in system
  369. Defect
  370. Problems known about but not removed
  371. Insufficient Test Coverage
  372. Testing that wasn't done
  373. Excessive Manual Testing
  374. Forcing the team to test manually instead of automatically
  375. Poor Inegration and Release Management
  376. Code poorly integrated
  377. Lack of platform experience
  378. limited techincal skills on part of team
  379.  
  380. Types
  381. Naive
  382. Immaturity of team members
  383.  
  384. !!!!!!!!!
  385. Ask professor what the context is for "Immaturity"
  386.  
  387. Cure
  388. Training
  389.  
  390. Unavoidalbe
  391. Unpredicted and unpreventable
  392.  
  393. Strategic
  394. Taking a shortcut to achieve a short term goal
  395.  
  396. Failing to Pay Technical Debt
  397. Difficult to code new features
  398. Difficult to innovate (become more efficent)
  399.  
  400. ***************************
  401. When should you pay technical debt?
  402. When you can test Refractor Code
  403. When you can test integration of code
  404. When you can perform regression testing
  405. Regression testing
  406. Testing to make sure software that interacts with other changed software still performs as well as it used to.
  407.  
  408. Consequences: NOT ON MIDTERM REVIEW
  409. Tipping Point
  410. Point where product is unmanagable
  411. Increase Time to delivery
  412. Signifigant Number of Defects
  413. Rising development and support costs
  414. Atrophy
  415. Not adding new features becomes the norm
  416. Decreased predicatablilty
  417. Underperformance (reduced expectation)
  418. Frustratition
  419. Trust in dev team errodes
  420. Decreased Customer Satisfaction
  421.  
  422.  
  423.  
  424. Managing Debt
  425. Stronger Definition of Done
  426. Helps reduce technical debt
  427.  
  428. Test Driven Development
  429. Dev writes testing software before writing the software
  430.  
  431. Code Reviews between developers
  432.  
  433. Make technical deb visible to developers
  434.  
  435. Approaches for Servicing Debt
  436. Discard
  437. Not all debt needs to be repaid, a product nearing the end of its lifetime.
  438. Boy Scout Rule - You see it, you fix it.
  439. High Interest Debt First
  440. Incremental
  441. Little by little every sprint
  442. Do it while doing customer valuable work
  443. work payment into new work.
  444.  
  445. --------CHAPTER 7----------
  446.  
  447. Product Owner:
  448. Participate in Planned Activities
  449. Groom PB
  450. Define Acceptance Criteria and Verifying they are met
  451.  
  452. Skills
  453. Domain Skills
  454.  
  455. !!!!!!!!
  456. What is this?
  457.  
  458. People Skills
  459. Decision Making Skills
  460. Accountability
  461.  
  462. Hierarchical PO
  463. levels of Product Owners for
  464. Feature
  465. Product Line
  466. Chief (overseer of all other product owners)
  467.  
  468. Scrum Master
  469. Coaching
  470. Process Authority
  471.  
  472. !!!!!!!!
  473. What is this?
  474.  
  475. Impediment Remover
  476.  
  477. http://i.imgur.com/nJKe8jN.png
  478.  
  479. Scrum Master can work for multiple teams in lieu of working as a dev
  480.  
  481. Dev Team
  482.  
  483. Role Specific Teams
  484. Instead of having team members split into departements which hand off work to one another
  485. Scrum Dev Team members should attempt to work independantly during a sprint
  486.  
  487. Responsibilities
  488. Planning Sprint
  489. Executing
  490. Inspection and Adapting
  491. Grooming Product Backlog
  492.  
  493. !!!!!!!!!
  494. Wasn't this this PO's Job??
  495.  
  496. T-Shaped Skills
  497. Work Outside Core Area
  498. Speciality
  499.  
  500. ----------Chapter 8----------
  501. Scrum Team is made up of Scrum Master, Dev Team and Product Owner
  502.  
  503. Product Owner Roles
  504. Defining Acceptance Critieria
  505. Grooming Product Backlog
  506. Participating in Planned activities
  507.  
  508. Scrum Master
  509. Helps organization design scrum approach
  510. Process Authority
  511. Impediment remover
  512. Should not be also be part of dev team or PO.
  513. Can server for multiple teams.
  514.  
  515. Vertical Slices of work
  516. Dont create departments that hand off work to the next departments
  517.  
  518. Dev Team
  519. Plans the Sprint
  520. Grooms the product backlog
  521.  
  522. T-Shaped Skills
  523. Broad - Ability to work outside of core area
  524. Deep - Specializing
  525.  
  526. ----------Chapter 9----------
  527.  
  528. Portfolio Backlog Items
  529. Composed of products, programs, projects or high level epics.
  530. A backlog of high level items.
  531.  
  532. Portfolio Planning
  533. Determins which Portfolio backlog items to work on
  534. Never Ends
  535. Determines whether to fund the product
  536.  
  537. People who take part in planning
  538. Stakeholders
  539. PO
  540. Senior architects
  541. Techinal Leads
  542.  
  543. Questions
  544. For new products
  545. Cost?
  546. How long to finish?
  547. Value?
  548. Risks?
  549.  
  550. For existing products
  551. ***Customer feedback?
  552. ***Technical Debt levels
  553. costs?
  554. Schedule?
  555. Marked data?
  556.  
  557. Inflow Strategies
  558. Knowing when to add items into portfolio backlog
  559.  
  560. Outflow Strategies
  561. Knowing when to pull products out of profolio backlog
  562. Establish a WIP limited
  563. Wait for a complete team.
  564. Unless it requires multiple teams then start when a whole team is available.
  565.  
  566. In-Process Strategy
  567. Knowing when to pivot or terminate existing product.
  568. Avoid bottlenecks by using smaller frequent releases
  569. Embrace Emergent Opportunity
  570. ie: being first to market
  571.  
  572. Scheduling Strategy
  573. Calculate costs of delay
  574. Estimate for accuracy not prcision due to limited data.
  575.  
  576. Types:
  577. Linear - Costs increase at fixed rate.
  578. Large Fixed Costs - A product that accrues a large single costs
  579. Must do now - Cost of delay is massive
  580. Fixed Date - Product must be deliverable by a fixed date.
  581. Costs of delay must occur only after the date.
  582. Logarithmic - cost of delay accrus very early with increasingly less delay thereafter.
  583. Intangible - A product has no cost of delay for a long time but suddenly accrues a very high delay cost.
  584.  
  585.  
  586.  
  587. Weighted Shorted Job First
  588.  
  589. WSJF = COST OF DELAY / DURATION
  590.  
  591. ----------Chapter 10----------
  592. Principles of Kanban
  593. Visualize your work
  594. use state diagrams
  595. Limit your WIP
  596. Measure Flow
  597.  
  598. Cards
  599. Cards represent a piece of work to be done and is placed on a kanban board.
  600. Contains info:
  601. Unique ID
  602. Task Name/Description
  603. Person task is assigned to
  604. Estimate
  605. !!!!!!
  606. Deadline
  607.  
  608. Kanban board
  609. Board which cards are posted which represent states
  610. Ranging from backlog to done.
  611. http://i.imgur.com/mOiNZ7z.jpg
  612. WIP limits on board
  613. http://i.imgur.com/tLcmZei.jpg
  614. Swim Lanes
  615. A card may not go through the exact same states as other cards.
  616.  
  617. Lead Time and Cycle Time
  618. Lead time is the time from when a bug was reported to when it was fixed.
  619. Cycle time is the time from when the dev started working on the bug and when it was fixed.
  620.  
  621. Cumulative Flow Diagram
  622. Measures how much work falls within lead time, cycle time.
  623. States include done, started and queued.
  624. http://i.imgur.com/NlbDUGT.jpg
  625.  
  626. Throughput
  627. Measure of the number of items that were delivered in a time period.
  628. Delivered means in the "Done" column of Kanban board.
  629.  
  630. ----------Chapter 11----------
  631. UML - Unified Modeling Lanague
  632. Notation that resulted from unification of Object modeling Lanague
  633.  
  634. OMT - Object Modeling technique
  635. OOSE - Object Oriented Software Engineering
  636.  
  637. You can solve 80% of modeling problems using 20% UML
  638.  
  639. Modeling
  640. System can be decomposed into subsystems and subsystems of subsystems.
  641.  
  642. A model people can understand should contain 5 to 9 parts.
  643.  
  644. Falsification
  645. proving relavent details have not been represented properly
  646.  
  647.  
  648. Diagrams
  649. http://i.imgur.com/43MF72Z.jpg
  650. Use-Case
  651. Functional behavior as seen by user.
  652.  
  653. Actors
  654. An entity (user, external system, physical environment)
  655.  
  656. Text Fields
  657. Name
  658. Participating Actor: (Role)
  659. Entry Condition: (What the actor does to start the interaction)
  660. Exit Condition: (What the actor's condition is like after the interaction is over)
  661.  
  662. Extends Relations
  663. Uncommonly invoked Use Cases
  664. Not included in the work flow
  665. Example: User cancels transaction.
  666. http://i.imgur.com/XFRiY50.jpg
  667.  
  668. Includes Relationship
  669. Relationships where a functionality is needed in more than one use-case
  670. http://i.imgur.com/IljOGWH.jpg
  671.  
  672. Class Diagrams
  673. http://i.imgur.com/XfHRNrV.jpg
  674. http://i.imgur.com/zw391KP.jpg
  675. Describe the static structure of the system
  676. Objects, attr, operations and associations.
  677.  
  678. Associations
  679. Relationships between classes
  680.  
  681. http://i.imgur.com/FBceN9E.jpg
  682.  
  683. Aggregation
  684. Shows parent and children classes
  685.  
  686. Composition
  687. An aggregate which lives as long as both the parent and child lives
  688. removing one destroys the whole aggregate
  689. Qualifier
  690. http://i.imgur.com/zpyd13H.jpg
  691.  
  692.  
  693. Sequence Diagrams
  694. Behavior of objects in the system
  695. http://i.imgur.com/K29nhEg.jpg
  696. Focus on Control Flows
  697. http://i.imgur.com/uLjFaVf.jpg
  698. http://i.imgur.com/98fhe4P.jpg
  699.  
  700.  
  701. State Chart Diagrams
  702. Behavior of an individual objects
  703. FSM (theory of alg) where functions or actions are on each edge
  704. Activity Diagrams
  705. Workflow of a system
  706. FSM http://i.imgur.com/smqRpYe.jpg
  707. Splitting http://i.imgur.com/oKgW0Cy.jpg
  708.  
  709. ----------CHAPTER 12----------
  710. System Design
  711. is the process of defining architectures, subsystems and interfaces to satisfy specific requirements
  712.  
  713. Software Architecture
  714. Describing system in terms of subsystems
  715.  
  716. Boundary Use cases
  717. Describing system configuration, starup, shutdown, and exception handling
  718.  
  719. Coupling
  720. Measures dependency among two subsystems
  721.  
  722. Cohesion
  723. Measures dependecies among classes within a subsystems
  724.  
  725. Relating Subsystems
  726. Layer
  727. Hiearchy of subsystems
  728. Partitioning
  729. Subsystem peers
  730.  
  731. *****A GOOD DESIGN HAS HIGH CHESION AND LOW Coupling
  732. ND: HIGH CHESION LIKE MR TRUMP LOL
  733.  
  734.  
  735. ----------CHAPTER 13----------
  736. Questions when testing
  737. Does it work as:
  738. Intended?
  739. Correct input?
  740. Incorrect input?
  741. Scaling data?
  742. Scaling userbase?
  743. With other systems?
  744.  
  745. States:
  746. Failure
  747. Any deviation in behavior from the specified behavior
  748. Erroneous State
  749. System is in a state that can lead to Failure
  750. Fault
  751. Mechanical or Algorithmic cause of error.
  752. Validation
  753. Checking for deviations between observed behavior and specified behavior.
  754.  
  755. Test Driver:
  756. Simulates part of the system
  757.  
  758. Test Stub:
  759. Sumulate a component that is called by tested compenent.
  760. Must return a value complient with the return signature.
  761.  
  762. Fault avoidance
  763. Reduce complexity
  764.  
  765. Fault detection
  766. Testing
  767. Debugging
  768. Monitoring
  769.  
  770. Fault Toleratnce
  771. Exception handling
  772. modular redundancy
  773. !!!!!!!
  774.  
  775. Testing should be done by independent testers
  776. Programmers are biased
  777.  
  778. Unit Testing
  779. Done by developer
  780. Goal: Confirm subsystem is correctly coded and carries out the intended functionality
  781.  
  782. Integration Testing
  783. Done by developers
  784. Testing interfacing between subsystems.
  785.  
  786. System Testing
  787. Done by developers
  788. Testing the entire system to make sure it meets requirements.
  789.  
  790. Functional Testing
  791. Test functionality of system
  792. Performance Testing
  793. Test non-functional requirements
  794. like purposely doing things wrong to see how the system reacts
  795. Call receive() before send()
  796.  
  797. Acceptance Testing
  798. Carried out by client.
  799. Demonstrate that system meets requirements of client.
  800.  
  801. Regression Testing
  802. Carried out by test engineers
  803. Determine if modifications to particular component have introduced faults in other components
  804.  
  805. Automation Testing
  806. Testing carried out by automatically testing framework.
  807.  
  808. Black Box Testing
  809. Focuses on I/O behavior
  810. If we can can predict the output the component passes the test.
  811. Testing in done in three equivalence classes:
  812. Below the range
  813. Above the range
  814. Within the range
  815.  
  816. Bottom-Up testing Strategy
  817. Subsystems in the lowest layer of the call hierarchy are tested individually
  818. Next subsystems are tested that call the previously tested subsystems.
  819. http://i.imgur.com/NK5iMQB.jpg
  820.  
  821. Pros:
  822. Useful for object oriented systems
  823. Useful for real-time systems
  824.  
  825. Cons:
  826. Drivers needed
  827. ***Uses interface last
  828.  
  829. Top-Down testing Strategy
  830. Test the top layer first
  831. Then test all systems without the top layer
  832. http://i.imgur.com/MrcjtOd.jpg
  833.  
  834. Pros:
  835. No driver needed
  836. Test cases definedi n terms of functionality of system
  837.  
  838. Cons:
  839. Writing stubs is difficult
  840.  
  841. Sandwich Testing Strategy
  842. Combines top-down and bottom-up
  843. Has 3 layers
  844. Target Layer -> Middle Layer
  845. Layer above target
  846. Layer below target
  847.  
  848. http://i.imgur.com/bGEOQDs.jpg
  849. I guess middle layer here is the target
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement