Showing posts with label SOFTWARE ENGINEERING. Show all posts
Showing posts with label SOFTWARE ENGINEERING. Show all posts

Monday, January 18, 2016

Usability Testing


  • Usability means focusing on users
  • People use products to be productive
  • Users are busy people trying to accomplish tasks
  •  Users decide when a product is easy to use
l  To ensure that the product is usable for your user
l  Usability testing should be an iterative practice
l  Completed several times during the design and development life-cycle
l  End result is an improved product and a better understanding of the users that we’re designing for (Kaufmann 2006)

l  Pilot testing
l  Designed to identify hidden issues and eliminate surprises.
l  Pilot testing tests the methods of your actual study as a trial
l  Not with actual users
l  During pilot testing you can make modifications to your final study 

Sunday, January 17, 2016

White Box Testing

          Looking at the internal structure of a program and deriving test cases based on the logic or control flow.
          Test cases can be designed to reach every branch in the code and to exercise each condition
          Typically done during unit testing
          Also known as:
        Structural Testing
        Glass-Box Testing
          Does not address the question of whether or not the program matches the specification
          Does not tell you if all of the functionality has been implemented
          Does not discover missing program logic
          Statement Coverage
          Decision/Branch Coverage
          Condition Coverage
          Decision/Condition Coverage

          Path Coverage

Saturday, January 16, 2016

Black-box Testing

          Looking at the program from an external point of view and deriving test cases based on the specification.
          The only criteria upon which the program is judged is if it produces the correct output for a given input.
          Impossible to write a test case for every possible set of inputs and outputs
          Some of the code may not be reachable without extraordinary measures

          Specifications are not always complete

McCabe’s Cyclomatic Complexity
          Software metric
          Developed by Tom McCabe (circa 1976)
          Directly measures the number of linearly independent paths through a program’s source code, taking into account the various decision points
          Independent of implementation language

Thursday, July 3, 2014

UNIT – V SOFTWARE PROJECT MANAGEMENT

1. Define measure.
Measure is defined as a quantitative indication of the extent, amount, dimension, or size of some attribute of a product or process.

2. Define metrics.
Metrics is defined as the degree to which a system component, or process possesses a given attribute.

3. What are the types of metrics?
Direct metrics – It refers to immediately measurable attributes.
          Example – Lines of code, execution speed.
Indirect metrics – It refers to the aspects that are not immediately quantifiable or measurable.   Example – functionality of a program.

4. Write short note on the various estimation techniques.
Algorithmic cost modeling – the cost estimation is based on the size of the software.
Expert judgment – The experts from software development and the application domain.
Estimation by analogy – The cost of a project is computed by comparing the project to a similar project in the same application domain.
Parkinson’s Law – The cost is determined by available resources rather than by objective assessment.
Pricing to win – The project costs whatever the customer ready to spend it.

5. What is COCOMO model?
COnstructive COst MOdel is a cost model, which gives the estimate of number of man-months it will take to develop the software product.

6. Give the procedure of the Delphi method.
1. The co-coordinator presents a specification and estimation form to each expert.
2. Co-coordinator calls a group meeting in which the experts discuss estimation issues with the coordinator and each other.
3. Experts fill out forms anonymously.
4. Co-coordinator prepares and distributes a summary of the estimates.
5. The Co-coordinator then calls a group meeting.


7. What is the purpose of timeline chart?
The purpose of the timeline chart is to emphasize the scope of the individual task. Hence set of tasks are given as input to the timeline chart.

8. What is EVA?
Earned Value Analysis is a technique of performing quantitative analysis of the software project. It provides a common value scale for every task of software project. It acts as a measure for software project progress.

9. What are the metrics computed during error tracking activity?
Errors per requirement specification page.
Errors per component-design level
Errors per component-code level
DRE-requirement analysis
 DRE-architectural analysis
DRE-component level design
DRE-coding.

10. What is software maintenance?
Software maintenance is an activity in which program is modified after it has been put into use. 

11. Define maintenance.
Maintenance is defined as the process in which changes are implemented  By either modifying the existing system’s architecture or by adding new components to the system.

12. What are the types of software maintenance?
Corrective maintenance – Means the maintenance for correcting the software faults.
Adaptive maintenance – Means maintenance for adapting the change in environment.
Perfective maintenance – Means modifying or enhancing the system to meet the new requirements.
Preventive maintenance – Means changes made to improve future maintainability.


13. How the CASE tools are classified?
CASE tools can be classified by    a. By function or use    b. By user type (e.g. manager, tester), or   c. By stage in software engineering process (e.g. requirements, test).

Tuesday, July 1, 2014

UNIT – III ANALYSIS, DESIGN CONCEPTS AND PRINCIPLES

1. What are the elements of design model?
i. Data design      
ii. Architectural design
iii. Interface design                                                                                         
iv. Component-level design

2. Define design process.
Design process is a sequence of steps carried through which the requirements are translated into a system or software model.

3. List the principles of a software design.
i. The design process should not suffer from “tunnel vision”
ii. The design should be traceable to the analysis model.
iii. The design should exhibit uniformity and integration.
iv. Design is not coding.
v. The design should not reinvent the wheel.

4. What is the benefit of modular design?
Changes made during testing and maintenance becomes manageable and they do not affect other modules.

5. What is a cohesive module?
A cohesive module performs only “one task” in software procedure with little interaction with other modules. In other words cohesive module performs only one thing.

6. What are the different types of Cohesion?
i. Coincidentally cohesive - The modules in which the set I\of tasks are related with each other loosely.
 ii. Logically cohesive – A module that performs the tasks that are logically related with each other.
 iii. Temporal cohesion – The module in which the tasks need to be executed in some specific time span.
 iv. Procedural cohesion – When processing elements of a module are related with one another and must be executed in some specific order.
v. Communicational cohesion – When the processing elements of a module share the data then such module is called communicational cohesive.

7. What is coupling?
Coupling is the measure of interconnection among modules in a program structure. It depends on the interface complexity between modules. 

8. What are the various types of coupling?
i. Data coupling – The data coupling is possible by parameter passing or data interaction.
                        ii. Control coupling – The modules share related control data in control coupling.
iii. Common coupling – The common data or a global data is shared among modules.
                     iv. Content coupling – Content coupling occurs when one module makes use of data or control information maintained in another module.

9. What are the common activities in design process?
i. System structuring – The system is subdivided into principle subsystems components and communications between these subsystems are identified.
ii. Control modeling – A model of control relationships between different parts of the system is established.
iii. Modular decomposition – The identified subsystems are decomposed into modules.

 10. What are the benefits of horizontal partitioning?
i. Software that is easy to test.
ii. Software that is easier to maintain.
iii. Propagation of fewer side effects.
iv. Software that is easier to extend.

11. What is vertical partitioning? 
Vertical partitioning often called factoring suggests that the control and work should be distributed top-down in program structure.

12. What are the advantages of vertical partitioning?
i. These are easy to maintain changes.
ii. They reduce the change impact and error propagation.

13. What are the various elements of data design?
i. Data object – The data objects are identified and relationship among various data objects can be represented using ERD or data dictionaries.
            ii. Databases – Using software design model, the data models are translated into data structures and data bases at the application level.
            iii. Data warehouses – At the business level useful information is identified from various databases and the data warehouses are created.