Showing posts with label Software Engineering. Show all posts

What are the characteristics of modern website applications or web apps or software?

The following attributes are encountered in the vast majority of WebApps.

Network intensiveness. A WebApp resides on a network and must serve the needs of a diverse community of clients. The network may enable worldwide access and communication (i.e., the Internet) or more limited access and communication (e.g., a corporate Intranet).

Concurrency. A large number of users may access the WebApp at one
time. In many cases, the patterns of usage among end users will vary greatly.
Unpredictable load. The number of users of the WebApp may vary by
orders of magnitude from day to day. One hundred users may show up on
Monday; 10,000 may use the system on Thursday.

Performance.  If a web app user must wait too long (for access, for server-side processing, for client-side formatting and display), he or she may decide to go elsewhere.

Availability. Although expectation of 100 percent availability is unreasonable, users of popular WebApps often demand access on a 24/7/365 basis. Users in Australia or Asia might demand access during times when traditional domestic software applications in North America might be taken off-line for maintenance.

Data-driven. The primary function of many WebApps is to use hypermedia to present text, graphics, audio, and video content to the end user. In addition, WebApps are commonly used to access information that exists on databases that are not an integral part of the Web-based environment (e.g., e-commerce or financial applications).

Content sensitive. The quality and aesthetic nature of content remain an important determinant of the quality of a WebApp.

Continuous evolution. Unlike conventional application software that evolves over a series of planned, chronologically spaced releases, Web applications evolve continuously. It is not unusual for some WebApps (specifically, their content) to be updated on a minute-by-minute schedule or for content to be independently computed for each request.

Immediacy. Although immediacy—the compelling need to get the software to market quickly—is a characteristic of many application domains, WebApps often exhibit a time-to-market that can be a matter of a few days or weeks.

Security. Because web apps are available via network access, it is difficult, if not impossible, to limit the population of end users who may access the application. In order to protect sensitive content and provide secure modes
Learn more »

What do you mean by Legacy Software? Discuss in brief about legacy system.

Hundreds of thousands of computer programs fall into one of the seven broad application domains discussed in the preceding subsection. Some of these are state-of-the-art software—just released to individuals, industry, and government. But other programs are older, in some cases much older.

These older programs—often referred to as legacy software—have been the focus of continuous attention and concern since the 1960s. Dayani-Fard and his colleagues [Day99] describe legacy software in the following way:

Legacy software systems . . . were developed decades ago and have been continually modified to meet changes in business requirements and computing platforms. The proliferation of such systems is causing headaches for large organizations who find them costly to maintain and risky to evolve.

Liu and his colleagues [Liu98] extend this description by noting that “many legacy systems remain supportive of core business functions and are ‘indispensable’ to the business.” Hence, legacy software is characterized by longevity and business criticality.

Unfortunately, there is sometimes one additional characteristic that is present in legacy software—poor quality. Legacy systems sometimes have inextensible designs, convoluted code, poor or nonexistent documentation, test cases and results that were never archived, a poorly managed change history—the list can be quite long. And yet, these systems support “core business functions and are indispensable to the business.” What to do?

The only reasonable answer may be: Do nothing, at least until the legacy system must undergo some significant change. If the legacy software meets the needs of its users and runs reliably, it isn’t broken and does not need to be fixed. However, as time passes, legacy systems often evolve for one or more of the following reasons:

  •  The software must be adapted to meet the needs of new computing environments or technology.
  • The software must be enhanced to implement new business requirements.
  • The software must be extended to make it interoperable with other more modern systems or databases.
  • The software must be re-architected to make it viable within a network environment.


When these modes of evolution occur, a legacy system must be re-engineered so that it remains viable into the future. The goal of modern software engineering is to “devise methodologies that are founded on the notion of evolution”; that is, the notion that software systems continually change, new software systems are built from the old ones, and . . . all must interoperate and cooperate with each other” 
Learn more »

Important questions of Software Engineering.

1. Differentiate between software process and software process model.
2. What are the key challenges facing in software Engineering? Explain.
3. Explain the system design process.
4. Why program are developed using evolutionary development are likely to be difficult to maintain?    Explain.
5. What is the critical distinction between a milestone and deliverable? Explain.
6. Why elicitation and analysis is a difficult process in requirement engineering process? Explain.
7. Explain the rapid prototyping techniques with example.
8. Explain the control models and its types.
9. Explain the use case diagram with example.
10. Explain the verification and validation planning.
11. Write short notes on(any two):
a) Data flow models
b) COCOMO model
c) Security assessment
12. Short notes on
a) Data flow models
b) COCOMO model
c) Security assessment.
Learn more »

Important Full Forms of Computer Terminology

Important Full Forms of Computer Terminology
**********************************************************
1.) GOOGLE : Global Organization Of Oriented Group Language Of Earth .
2.) YAHOO : Yet Another Hierarchical Officious Oracle .
3.) WINDOW : Wide Interactive Network Development for Office work Solution
4.) COMPUTER : Common Oriented Machine Particularly United and used under Technical and Educational Research.
5.) VIRUS : Vital Information Resources Under Siege .
6.) UMTS : Universal Mobile Telecommunications System .
7.) AMOLED: Active-matrix organic light-emitting diode
8.) OLED : Organic light-emitting diode
9.) IMEI: International Mobile Equipment Identity .
10.) ESN: Electronic Serial Number .
11.) UPS: uninterrupted power supply .
12). HDMI: High-DefinitionMultimedia Interface
13.) VPN: virtual private network
14.) APN: Access Point Name
15.) SIM: Subscriber Identity Module
16.) LED: Light emitting diode.
17.) DLNA: Digital Living Network Alliance
18.) RAM: Random access memory.
19.) ROM: Read only memory.
20) VGA: Video Graphics Array
21) QVGA: Quarter Video Graphics Array
22) WVGA: Wide video graphics array.
23) WXGA: Wide screen Extended Graphics Array
24) USB: Universal serial Bus
25) WLAN: Wireless Local Area Network
26.) PPI: Pixels Per Inch
27.) LCD: Liquid Crystal Display.
28.) HSDPA: High speed down-link packet access.
29.) HSUPA: High-Speed Uplink Packet Access
30.) HSPA: High Speed Packet Access
31.) GPRS: General Packet Radio Service
32.) EDGE: Enhanced Data Rates for Global Evolution
33.)NFC: Near field communication
34.) OTG: on-the-go
35.) S-LCD: Super Liquid Crystal Display
36.) O.S: Operating system.
37.) SNS: Social network service
38.) H.S: HOTSPOT
39.) P.O.I: point of interest
40.)GPS: Global Positioning System
41.)DVD: Digital Video Disk / digital versatile disc
42.)DTP: Desk top publishing.
43.) DNSE: Digital natural sound engine .
44.) OVI: Ohio Video Intranet
45.)CDMA: Code Division Multiple Access
46.) WCDMA: Wide-band Code Division Multiple Access
47.)GSM: Global System for Mobile Communications
48.)WI-FI: Wireless Fidelity
49.) DIVX: Digital internet video access.
50.) .APK: authenticated public key.
51.) J2ME: java 2 micro edition
53.) DELL: Digital electronic link library.
54.)ACER: Acquisition Collaboration ExperimentationReflection
55.)RSS: Really simple syndication
56.) TFT: thin film transistor
57.) AMR: Adaptive Multi- Rate
58.) MPEG: moving pictures experts group
59.)IVRS: Interactive Voice Response System
60.) HP: Hewlett Packard
Learn more »

What do you mean by Test Case? What are the structure of test plan? Explain with an example.

Definition

Test case has components that describes and input, action on event and a expected response to determine if a feature of an application is working correctly.

Levels of Test Case

There are four levels of test cases:
  1. Level 1: Basic test cases are from application specific
  2. Level 2: Practical stage in which writing test cases depends on actual functional and system flow of the application.
  3. Level 3: Group some test cases and write a test procedure where 0<n<=10
  4. Level 4: Automation of the project

Example

  • Test Case Id
  • Unit to test
  • Assumptions
  •  Test data
  • Steps to be executed
  • Expected result
  • Pass/fail
  • Comments

Structure of test Plan

  1. Test plan identifier
  2. Introduction 
  3. Test item
  4. Features to be tested
  5. Features not be tested
  6. Approach
  7. Items pass/fail criteria
  8. Suspension criteria and resumption criteria
  9. Test deliverables
  10. Testing tasks
  11. Environment needs
  12. Responsibilities
  13. Schedule
  14. Risk and contingencies
  15. Approvals


Learn more »

oDesk Software Testing Test Answers


oDesk Software Testing Test Answers

 Which of the following are the objectives of using a "test harness"?
a. Automating the testing process
b. Executing test suites of test cases
c. Generating test reports
d. Creating reusable test logic to reduce maintenance and improve test coverage
Consider the following code fragment:

        If(a>b) && (b<c)
        {
                b= (a+c)/2;
        }

In the options given below, each of the three numbers in parentheses represents the inputs for a test case, where the first, second and third number represents a, b, c respectively of the code fragment. Keeping this in mind, find out which of the following options gives a set of test case inputs that achieves decision coverage for this fragment of code in the minimum number of test cases?
a. (5, 3, 2)
b. (5, 3, 2); (5, 4, 0)
c. (5, 4, 0); (4, 5, 0)
d. (4, 5, 0); (5, 4, 5)
_________ testing is used to evaluate and understand the application's reliability, scalability and interoperability when more users are added or the volume of data is increased
a. Integration
b. Performance
c. Regression
d. Stability
Which of the following strategies are used for Integration testing?
a. Big Bang
b. Top-down
c. Bottom-up
d. Any of the above strategies can be used
The determination of adherence or non adherence to a compliance is carried out during:
a. Inspection
b. Audit
c. White-box testing
d. Walkthrough
Which of the following is true regarding Static Analysis tools?
a. They help you find defects rather than failures
b. They are used by developers only
c. They require compilation of code
d. All of the above
Identify the defect which can be detected by Equivalence Partitioning Technique:
a. Improper handling of sequences of events
b. Mis-handling of combinations of conditions
c. Irregular handling of large and small values
d. Improper handling of input classes
e. Invalid output generation
Which of the following is false about software testing?
a. Top-down integration testing has as its major advantage that low level modules never need testing
b. Alpha testing is in-house testing performed by the test team
c. Equivalence partitioning is used to minimize the number of permutations and combinations of input data
d. Fuzz testing provides random data to the input of a program
The review of a technical document such as requirements specs or a test plan, with the purpose of looking for problems and seeing what is missing, without fixing anything is called:
a. Inspection
b. Black box testing
c. White box testing
d. Walkthrough
What is the main reason for testing a software immediately before releasing it?
a. To ensure that the system will work after release
b. To decide when the software is of sufficient quality to release
c. To find as many bugs as possible before release
d. To give information for a risk based decision about release
Which of the following types of testing emulates the real world use of a system and verifies that the product fulfills the intended requirements?
a. System testing
b. Model testing
c. Integration testing
d. User acceptance testing
Which of the following tools supports traceability, recording of incidents, and scheduling of tests?
a. Static analysis tool
b. Debugging tool
c. Test management tool
d. Configuration management tool
Selecting the test inputs that are likely to reveal a failure associated with a particular defect is an example of the use of:
a. Activity analysis
b. Defect taxonomy for test design
c. Root cause analysis
d. Cleanroom software development
Which of the following Security testing concepts deals with the process of determining whether a requester is allowed to receive a service or perform an operation?
a. Confidentiality
b. Integrity
c. Authentication
d. Authorization
The process of using a test case to test a specific unit of code, function, or capability is called:
a. Test Run
b. Test Script
c. Test Plan
d. Test Scenario
Which of the following are benefits of automated testing?
a. reusability
b. efficiency
c. speed
d. allows testing of video and mp3 files
Usability testing indicates that the design and system should be modified if:
a. people have difficulty in understanding the instructions
b. people have difficulty in manipulating the parts
c. people have difficulty in interpreting the feedback
d. all of the above
Which of the following is not included in Non-functional testing?
a. Load/Stress testing
b. Unit testing
c. Security testing
d. Stress testing
Which of the following statements is not true regarding capture/replay tools?
a. They are used to support multi-user testing
b. They capture aspects of user behavior
c. They are the most frequently used types of CAST tools
d. They are used to capture and playback user requirements
Which of the following is not a type of Incremental testing approach?
a. Top-down
b. Big-bang
c. Bottom-up
d. None of the above
In which type of testing is random data generated for input into the software?
a. Smoke testing
b. Marge testing
c. Fuzz testing
d. Operation testing
Which of the following is written by a programmer and is meant to call the function to be tested by passing test data to it?
a. Stub
b. Driver
c. Proxy
Which of the following types of testing is likely to benefit the most from the use of test tools that provide the test capture and replay facilities?
a. Integration testing
b. Regression testing
c. System testing
d. User acceptance testing
Which of the following statements is incorrect in relation to Test Automation?
a. Test Automation is the process of writing a computer program to do testing that would otherwise need to be done manually
b. Test Automation is the use of software to control the execution of tests and the comparison of actual outcomes to predicted outcomes
c. Test Automation tools may provide record and playback features that allow users to interactively record user actions and replay it back any number of times
d. Test Automation is the set of procedures used by organizations to ensure that a software product will meet its quality goals at the best value to the customer
Which of the following models of software development incorporates testing into the whole software development life cycle?
a. Agile model
b. Waterfall model
c. V-Model
d. Spiral model
When a defect is detected and fixed, the software should be retested to confirm that the original defect has been successfully removed. This is called:
a. Regression testing
b. Maintenance testing
c. Confirmation testing
d. None of the above
What is the normal order of activities in which software testing is carried out?
a. Unit, Integration, System, Validation
b. System, Integration, Unit, Validation
c. Unit, Integration, Validation, System
d. None of the above
Which of the following testing occurs outside the development environment?
a. Installation testing
b. White-box testing
c. Module testing
d. Fuzz testing
In Bottom-up integration testing,
a. Major decision points are tested in the early phase
b. No drivers need to be written
c. No stubs need to be written
d. Regression testing is not required
Which of the following is incorrect for Black-box testing?
a. It takes an external perspective of the test object to derive test cases
b. It is sometimes also called as Opaque Testing, Functional Testing and Closed Box Testing
c. It uses an internal perspective of the system to design test cases based on internal structure
Which of the following options correctly defines the term "test harness"?
a. It is a high level document describing the principles, approach and major objectives of the organization regarding testing
b. It is a set of test activities collected into a manageable phase of a project
c. It is a collection of software and test data configured to test a program unit by running it under varying conditions and monitoring its behavior and outputs
d. It is a set of several test cases for a component or a system under test
What is the difference between Regression testing and Retesting?
a. Retesting is done by programmers while Regression testing is done by testers
b. Retesting checks for unexpected side-effects while Regression testing ensures that the original fault has been corrected
c. Retesting ensures that the original fault has been corrected while Regression testing checks for other unexpected side-effects
d. There is no difference between Regression testing and Retesting
Which of the following types of errors are uncovered in White-box testing?
a. Performance errors
b. Logical errors
c. Typographical errors
d. Behavioral errors
The cursory examination of all the basic components of a software system to ensure that they work is called:
a. Fuzz testing
b. Black-box testing
c. Sanity testing
d. Smoke testing
Which of the following statements holds true for Verification and Validation?
a. Verification is used to check if we are doing the right thing and Validation is used to check whether we have developed the software as per the client's requirements or not
b. Validation is used to check if we are doing the right thing and Verification is used to check whether we have developed the software as per the client's requirements or not
c. Validation tells us what to test and Verification decides on the methodology to go about testing the application
d. None of the above
Which of the following is true about Sanity Testing?
a. A Sanity test is used to determine if a small section of the application is still working after a minor change
b. A Sanity test is run to check if the build of an application is stable and it can be considered for further testing
c. A Sanity test is the process of testing to make sure that the older programming still works with the new changes
d. All of the above are true
Which of the following test activities provides the maximum potential cost savings from the use of Computer-Aided Software Testing (CAST)?
a. Test execution
b. Test planning
c. Test management
d. Test design
What is the name of the testing method in which (for each pair of input parameters) all the possible discrete combinations of parameters are passed on?
a. Single testing
b. Pairwise testing
c. Unit testing
d. None of the above
Which of the following statements is incorrect in relation to Smoke testing and Sanity testing?
a. A Smoke test is designed to touch every part of the application in a cursory way whereas a Sanity test is used to determine if a small section of the application is still working after a minor change
b. A Smoke test adopts a shallow and wide approach whereas a Sanity test is a narrow regression test that focuses on one, or a few areas of functionality. Sanity testing is usually narrow and deep
c. A Smoke test is usually unscripted whereas a Sanity test is scripted either using a written set of tests or an automated test
d. A Smoke test is a normal health checkup to a build of an application before taking it to in-depth testing whereas a Sanity test is to verify whether all requirements are met or not, checking all features breadth-first
From the options given below which of the dynamic program analysis technique is aimed at improving application performance?
a. Code complexity analysis
b. Profiling
c. Network packet sniffing
d. Spelling and grammar checking
e. Program slicing
What would be the appropriate result of a Stress test at its peak?
a. A gradual performance slow-down leading to a non-catastrophic system halt
b. A gradual performance improvement leading to a catastrophic system halt
c. A gradual performance slow-down leading to a catastrophic system halt
d. A gradual performance improvement to a non-catastrophic system halt
Which of the following statements is incorrect in relation to Code coverage?
a. It describes the degree to which the source code of a program has been tested
b. It is a form of White-box testing
c. It is a form of Black-box testing
Which of the following resources are tested by most of the Stress testing tools?
a. Disk space
b. Network bandwidth
c. Internal memory
d. All of the above
Which of the following is not a part of System testing?
a. Recovery testing and failover testing
b. Performance, Load and Stress testing
c. Usability testing
d. Top-down integration testing
Which of the following statements about Equivalence partitioning is correct?
a. A software testing design technique in which tests are designed to include representatives of boundary values
b. A type of software testing used for testing two or more modules or functions together with the intent of finding interface defects between the modules or functions
c. It is the degree to which the source code of a program has been tested
d. A software testing technique that divides the input data of a software unit into partitions of data from which test cases can be derived
Which of the following is not a Static testing methodology?
a. Code review
b. Inspection
c. Walkthroughs
d. System tests
What do you understand by the term "Monkey test"?
a. It is random testing performed by automated testing tools
b. It is used to simulate the actions a user might perform
c. It is another name for Monitor testing
From the following options, choose the best example which represents a reliability failure for an application:
a. Slow response time
b. Excessive application consumption
c. Random application termination
d. Failure to encrypt data
Choose the correct description of a Stub in software testing:
a. A Stub is basically the same as a driver except that it is very fast in returning results
b. A Stub is a dummy procedure, module or unit that stands in for an unfinished portion of a system
c. A Stub is just a different name for an Emulator
d. None of the above
Beta testing is performed by:
a. An independent test team
b. The software development team
c. In-house users
d. External users
The main focus of Black-box testing is:
a. to check for logical errors
b. to ensure that each code statement is executed once
c. to test the functionality of the system as a whole
d. to identify all paths through the software
What is Boundary value testing?
a. It tests values at and near the minimum and maximum allowed values for a particular input or output
b. It tests different combinations of input circumstances
c. It is a testing technique associated with White-box testing
d. Both a and b
Identification of set-use pairs is accomplished during which of the following static analysis activities?
a. Control flow analysis
b. Data flow analysis
c. Coding standards analysis
d. Function Point Analysis
Performance testing is used for real-time systems only.
a. True
b. False
Which one of the following is a major benefit of verification early in the software development life cycle?
a. It allows the identification of changes in user requirements
b. It facilitates timely set up of the test environment
c. It reduces defect multiplication
d. It allows testers to become involved early in the project
The testing performed by external organizations or standards bodies to give greater guarantees of compliance is called:
a. Usability testing
b. Conformance testing
c. Integration testing
d. System testing
In which of the following testing methodologies does the test case generation use the system model?
a. Repetitive testing
b. Model testing
c. Modular testing
d. System testing
The testing phase in which individual software modules are combined and tested as a group is called:
a. Unit testing
b. Integration testing
c. Module testing
d. White-box testing
In which of the following testing methodologies does the automatic generation of efficient test procedures/vectors use models of system requirements and specified functionality?
a. Repetitive testing
b. Model testing
c. Modular testing
d. System testing

Learn more »