Tuesday, June 4, 2019
Factors Affecting Web Applications Maintenance
Factors bear on Web Applications MaintenanceChapter 11.1 Introduction package engineering science PRE01 is the address associated with industrial fictional character computer softw atomic tote up 18 package suppuration, the methods applyd to analyze, soma shew computer packet, the management techniques associated with the turn back monitoring of package projects the tools utilize to support service, methods, techniques. In bundle victimization Life Cycle, the focus is on the activities desire feasibility culture, requirement depth psychology, contrive, coding, sort, maintenance.Feasibility study involves the issues like technical/economical/ behavioral feasibility of project. requirement analysis DAV93 emphasizes on identifying the need of the outline producing the softw atomic deem 18 product Requirements Specification document (SRS), JAL04 that describes both(prenominal) cultivation, head for the hillsal behavioral requirements, constraints, validation requirements for softw atomic number 18. package physique is to plan a antecedent of the problem qualify by the SRS document, a step in moving from the problem domain to the solution domain. The takings of this phase is the design document. Coding is to reiterate the design of the system into decree in a scheduleming language. examination is the offshoot to detect defects minimize the risk associated with the residual defects. The activities carried out after the spoken language of the softw are comprises the maintenance phase.1.2 Evolution of package interrogatory DisciplineThe effective functioning of modern systems dep hold backs on our ability to set off software in a cost-effective way. The term software engineering was first go ford at a 1968 NATO workshop in West Germ both. It focused on the growing software crisis. so we see that the software crisis on quality, reliability, high cost etc. started way back when most of todays software interrogati hotshot(a)rs were non pull down born.The attitude towards packet interrogation BEI90 underwent a major lordly change in the recent years. In the 1950s when Machine languages were used, examination was nothing but debugging. When in the 1960s, compilers were developed, scrutiny started to be considered a separate activeness from debugging.In the 1970s when the software engineering concepts were introduced, software examination began to evolve as a technical discipline. oer the last two decades there has been an increase focus on better, faster and cost-effective software. Also there has been a growing interest in software safety, protection and security and hence an change magnitude acceptance of interrogation as a technical discipline and as well as a career choice.Now to answer, What is interrogation? we seat go by the historied interpretation of Myers MYE79, which says, examination is the form of executing a course of instruction with the intent of finding defects . According to Humphrey, software interrogatory is defined as, the execution of a political political program to find its faults. test is the process to prove that the software works correctly PRA06. bundle examination is a pivotal aspect of the software life cycle. In some form or the other(a) it is demo at apiece phase of (any) software suppuration or maintenance model. The importance of software interrogatory and its impact on software sensnot be underestimated. Software interrogation is a fundamental component of software quality assurance and represents a review of stipulation, design and coding. The greater visibility of software systems and the cost associated with software failure are motivating factors for planning, through test. It is not ridiculous for a software organization to go past 40-50% of its effort on examen.During exam, the software engineering produces a series of test slicks that are used to rip by the software they sustain produced. in terrogation is the one step in the software process that can be seen by the developer as destructive instead of constructive. Software engineers are typically constructive pile and interrogation requires them to overcome preconceived concepts of correctness and deal with conflicts when erroneousnesss are identified.A prospering test is one that finds a defect. This sounds simple enough, but there is such(prenominal)(prenominal)(prenominal) to consider when we want to do software interrogatory. Besides finding faults, we whitethorn as well be interested in testing coifance, safety, fault-tolerance or security. Testing oft becomes a heading of economics. For projects of a sizable size, to a greater extent testing will usually reveal more bugs. The question indeed becomes when to stop testing, and what is an acceptable take of bugs. This is the question of near(a) enough software.Testing is the process of verifying that a product repletes all requirements. A test is ne ver complete. When testing software the last should never be a product completely free from defects, because its impossible. According to Peter Nielsen, The average is 16 faults per grand lines of regulation when the programmer has tried and true his code and it is believed to be correct. When smell at a larger project, there are millions of lines of code, which feeds it impossible to find all present faults. Far too often products are released on the market with poor quality. Errors are often uncovered by exploiters, and in that stage the cost of removing errors is large in gist.1.3 Objectives of TestingGlen Myers MYE79 states a number of rules that can serve well as testing objectivesTesting is a process of executing a program with the intent of finding an error.A good test is one that has a high probability of finding an as just undiscovered error.A successful test is one that uncovers an as yet undiscovered error.The objective is to design tests that systematically unco ver various chassises of errors do so with a minimum amount of time effort.Secondary benefits include designate that Software functions appear to be working according to specification.That performance requirements appear to stir been met.Data collected during testing provides a good indication of Software reliability some indication of Software quality.Testing cannot show the absence of defects, it can only show that Software defects are present.1.4 Software Testing Its coincidence with Software Life CycleSoftware testing should be thought of as an integral part of the Software process an activity that moldiness be carried out throughout the life cycle.Each phase in the Software lifecycle has a clearly different end product such as the Software requirements specification (SRS) documentation, program unit design program unit code. Each end product can be checked for conformance with a introductory phase against the original requirements. Thus, errors can be detected at i ndividually phase of development.Validation Verification should carry on throughout the Software lifecycle.Verification is the process of evaluating each phase end product to meet consistency with the end product of the previous phase.Validation is the process of testing Software, or a specification, to master that it matches user requirements.Software testing is that part of validation verification associated with evaluating analysing program code. It is one of the two most high-ticket(prenominal) stages within the Software lifecycle, the other organism maintenance. Software testing of a product begins after the development of the program units continues until the product is obsolete.Testing fixing can be done at any stage in the life cycle. However, the cost of finding fixing errors increases dramatically as development progresses.Changing a Requirements document during the first review is inexpensive. It costs more when requirements change after the code has been pen t he code essential be rewritten. Bug fixes are more than cheaper when programmers find their own errors. Fixing an error before releasing a program is much cheaper than sending new disks, or even a technician to each customers site to fix it later. It is illustrated in skeleton 1.1.The types of testing required during several phases of Software lifecycle are described belowRequirementsRequirements must be reviewed with the customer quick prototyping can refine requirements accommodate changing requirements.SpecificationThe specifications document must be checked for feasibility, traceability, completeness, absence of contradictions ambiguities.Specification reviews (walkthroughs or inspections) are especially effective.DesignDesign reviews are similar to specification reviews, but more technical.The design must be checked for logic faults, interface faults, lack of exception handling, non-conformance to specifications. executingCode facultys are informally tried by the programmer while they are being implemented (desk checking).Thereafter, formal testing of modules is done methodically by a testing aggroup. This formal testing can include non-execution- ground methods (code inspections walkthroughs) execution-based methods ( dismal- knock testing, white- package testing).IntegrationIntegration testing is performed to ensure that the modules combination to initiateher correctly to achieve a product that meets its specifications. Particular care must be given to the interfaces between modules.The appropriate order of combination must be determined as top-down, bottom-up, or a combination thereof.Product TestingThe in operation(p)ity of the product as a whole is checked against its specifications. Test reasons are derived at once from the specifications document. The product is also tested for robustness (error-handling capabilities stress tests).All extraction code documentation are checked for completeness consistency.Acceptance TestingT he Software is delivered to the client, who tests the Software on the actual h/w, using actual info instead of test data. A product cannot be considered to satisfy its specifications until it has passed an acceptance test.Commercial off-the-shelf (or shrink-wrapped) Software usually undergoes important beta testing as a form of acceptance test.MaintenanceModified versions of the original product must be tested to ensure that changes fork up been correctly implemented.Also, the product must be tested against previous test cases to ensure that no inadvertent changes get to been introduced. This latter consideration is termed regression testing.Software Process ManagementThe Software process management plan must undergo scrutiny. It is especially important that cost duration estimates be checked complete(a)ly.If odd unchecked, errors can propagate through the development lifecycle amplify in number cost. The cost of detecting fixing an error is well documented is known to b e more costly as the system develops. An error found during the operation phase is the most costly to fix.1.5 Principles of Software TestingSoftware testing is an exceedingly creative in checkectually challenging task. The hobby are some important principles DAV95 that should be kept in mind while carrying Software testing PRE01 SUM02Testing should be based on user requirements This is in order to uncover any defects that might cause the program or system to fail to meet the clients requirements.Testing time resources are extra Avoid redundant tests.It is impossible to test everything Exhaustive tests of all possible scenarios are impossible, because of the many different variables touch the system the number of travel guidebooks a program black market might take.Use effective resources to test This represents use of the most suitable tools, procedures individuals to conduct the tests. only if those tools should be used by the test team that they are confident familiar w ith. Testing procedures should be clearly defined. Testing someonenel may be a technical group of people individual of the developers.Test planning should be done early This is because test planning can begin self-supportingly of coding as soon as the client requirements are notice.Test for disenable un pass judgment input antecedents as well as valid specializes The program should breed correct messages when an invalid test is encountered should give back correct results when the test is valid.The probability of the existence of more errors in a module or group of modules is directly proportional to the number of errors already found.Testing should begin at the module The focus of testing should be concentrated on the smallest programming units first then expand to other parts of the system.Testing must be done by an autarkic party Testing should not be performed by the person or team that developed the Software since they tend to defend the correctness of the program .Assign best personnel to the task Because testing requires high creativity function only the best personnel must be assigned to design, implement, analyze test cases, test data test results.Testing should not be think under the implicit assumption that no errors will be found.Testing is the process of executing Software with the intention of finding errors.Keep Software unchanging during test The program must not be modified during the implementation of the localize of designed test cases.Document test cases test results.Provide expected test results if possible A unavoidable part of test documentation is the specification of expected results, even though it is impractical.1.6 Software Testability Its CharacteristicsTestability is the ability of Software (or program) with which it can easily be tested PRE01 SUM02. The pursuance are some key characteristics of testabilityThe better it works, the more efficient is testing process.What you see is what you test (WYSIWYT).The better it is controlled, the more we can automate or hone the testing process.By controlling the scope of testing we can isolate problems perform smarter retesting.The less there is to test, the more quickly we can test it.The fewer the changes, the fewer the disruptions to testing.The more information we view as, the smarter we will test.1.7 Stages in Software Testing ProcessExcept for small programs, systems should not be tested as a single unit. Large systems are built out of sub-systems, which are built out of modules that are composed of procedures functions. The testing process should therefore proceed in stages where testing is carried out incrementally in conjunction with system implementation.The most widely used testing process consists of tailfin stages that are illustrated in Table 1.1.Errors in program components, say may come to light at a later stage of the testing process. The process is therefore an iterative one with information being fed back from later sta ges to earlier parts of the process. The iterative testing process is illustrated in inscribe 1.2 and described below unit of measurement Testing Unit testing is code-oriented testing. Individual components are tested to ensure that they operate correctly. Each component is tested independently, without other system components.Module Testing A module is a collection of dependent components such as an object class, an abstract data type or some looser collection of procedures functions. A module encapsulates related components so it can be tested without other system modules.Sub-system (Integration) Testing This phase involves testing collections of modules, which have been integrated into sub-systems. It is a design-oriented testing is also known as integration testing.Sub-systems may be independently designed implemented. The most common problems, which arise in large Software systems, are sub-systems interface mismatches. The sub-system test process should therefore concentrat e on the detection of interface errors by rigorously exercising these interfaces. remains Testing The sub-systems are integrated to make up the entire system. The testing process is concerned with finding errors that result from unanticipated interactions between sub-systems system components. It is also concerned with validating that the system meets its functional non-functional requirements.Acceptance Testing This is the final stage in the testing process before the system is accepted for working(a) use. The system is tested with data supplied by the system client rather than simulated test data. Acceptance testing may reveal errors omissions in the systems requirements exposition (user-oriented) because legitimate data exercises the system in different ways from the test data.Acceptance testing may also reveal requirement problems where the system facilities do not really meet the users needs (functional) or the system performance (non-functional) is unacceptable.1.8 The V -model of TestingTo test an entire software system, tests on different levels are performed. The V model FEW99, shown in figure 1.3, illustrates the power structure of tests usually performed in software development projects. The left part of the V represents the documentation of an application, which are the Requirement specification, the serviceable specification, musical ar windment design, the Unit design.Code is written to fulfill the requirements in these specifications, as illustrated in the bottom of the V. The right part of the V represents the test activities that are performed during development to ensure that an application corresponding to its requirements.Unit tests are used to test that all functions and methods in a module are working as intended. When the modules have been tested, they are combined and integration tests are used to test that they work together as a group. The unit- and integration test complement the system test. System testing is done on a comple te system to validate that it corresponds to the system specification. A system test includes checking if all functional and all non-functional requirements have been met.Unit, integration and system tests are developer focused, while acceptance tests are customer focused. Acceptance testing checks that the system contains the functionality requested by the customer, in the Requirement specification. Customers are usually responsible for the acceptance tests since they are the only persons qualified to make the judgment of approval. The purpose of the acceptance tests is that after they are preformed, the customer knows which parts of the Requirement specification the system satisfies.1.9 The Testing TechniquesTo perform these types of testing, there are three widely used testing techniques. The above said testing types are performed based on the following testing techniques shady-Box testing techniqueBlack corner testing (Figure 1.4) is concerned only with testing the specificatio n. It cannot guarantee that the complete specification has been implemented. Thus black cut testing is testing against the specification and will discover faultsofomission, indicating that part of the specification has not been fulfilled. It is used for testing based solely on analysis of requirements (specification, user documentation).In Black box testing, test cases are designed using only the functional specification of the software i.e without any association of the internal structure of the software. For this reason, black-box testing is also known as functional testing. Black box tests are performed to assess how well a program meets its requirements, looking for scatty or incorrect functionality. in operation(p) testing typically exercise code with valid or nearly valid input for which the expected output is known. This includes concepts such as confineary note restore. exploit tests evaluate response time, memory usage, throughput, device utilization, and execution time. Stress tests push the system to or beyond its specified limits to evaluate its robustness and error handling capabilities. Reliability tests monitor system response to represent user input, counting failures over time to measure or certify reliability.Black box Testing refers to analyzing a ravel program by probing it with various inputs. This kind of testing requires only a running program and does not make use of source code testing of any kind. In the security paradigm, malicious input can be supplied to the program in an effort to cause it to break. If the program breaks during a particular test, then a security problem may have been discovered.Black box testing is possible even without access to double star code. That is, a program can be tested remotely over a network. All that is required is a program running somewhere that is judge input. If the tester can supply input that the program consumes (and can observe the effect of the test), then black box testing is possi ble. This is one reason that real attackers often resort to black box techniques. Black box testing is not an alternative to white box techniques. It is a complementary approach that is belike to uncover a different type of errors that the white box approaches.Black box testing tries to find errors in the following categoriesIncorrect or missing functionsInterface errorsErrors in data structures or external database accessPerformance errors, andInitialization and termination errors.By applying black box approaches we produce a aim of test cases that fulfill requirementsTest cases that reduce the number of test cases to achieve reasonable testingTest cases that tell us something about the presence or absence of classes of errors.The methodologies used for black box testing have been discussed below1.9.1.1 Equivalent PartitioningEquivalence equipment failure is a black box testing approach that splits the input domain of a program into classes of data from which test cases can be p roduced. An ideal test case uncovers a class of errors that may otherwise before the error is detected. Equivalence part tries to outline a test case that identifies classes of errors.Test case design for equivalent partitioning is founded on an evaluation of equivalence classes for an input power BEI95. An equivalence class depicts a set of valid or invalid states for the input condition. Equivalence classes can be defined based on the following PRE01If an input condition specifies a range, one valid and two invalid equivalence classes are defined.If an input condition needs a specific abide by, one valid and two invalid equivalence classes are defined.If an input condition specifies a member of a set, one valid and one invalid equivalence class is defined.If an input condition is Boolean, one valid and invalid class is outlined.1.9.1.2 termination Value AnalysisA great many errors happen at the boundaries of the input domain and for this reason boundary value analysis was deve loped. Boundary value analysis is test case design approach that complements equivalence partitioning. BVA produces test cases from the output domain also MYE79.Guidelines for BVA are close to those for equivalence partitioning PRE01If an input condition specifies a range bounded by values a and b, test cases should be produced with values a and b, provided above and just below a and b, respectively.If an input condition specifies various values, test cases should be produced to exercise the minimum and maximum numbers.Apply guidelines above to output conditions.If internal program data structures have prescribed boundaries, produce test cases to exercise that data structure at its boundary.White-Box testing techniqueWhite box testing (Figure 1.5) is testing against the implementation as it is based on analysis of internal logic (design, code etc.) and will discover faultsofcommission, indicating that part of the implementation is faulty. Designing white-box test cases requires tho rough knowledge of the internal structure of software, and therefore the white-box testing is also called the structural testing. White box testing is performed to reveal problems with the internal structure of a program.A common goal of white-box testing is to ensure a test case exercises every path through a program. A fundamental strength that all white box testing strategies portion out is that the entire software implementation is taken into account during testing, which facilitates error detection even when the software specification is obscure or incomplete. The effectiveness or thoroughness of white-box testing is commonly expressed in foothold of test or code coverage metrics, which measure the fraction of code exercised by test cases.White box Testing involves analyzing and understanding source code. Sometimes only binary code is available, but if you decompile a binary to get source code and then study the code, this can be considered a kind of white box testing as we ll. White box testing is typically very effective in finding programming errors and implementation errors in software. In some cases this activity amounts to pattern matching and can even be automated with a soundless analyzer.White box testing is a test case design approach that employs the control architecture of the adjective design to produce test cases. utilize white box testing approaches, the software engineering can produce test cases thatGuarantee that all independent paths in a module have been exercised at least onceExercise all logical decisionsExecute all tats at their boundaries and in their practicable boundsExercise internal data structures to maintain their validity.There are several methodologies used for white box testing. We discuss some important ones below.1.9.2.1 account CoverageThe statement coverage methodology aims to design test cases so as to force the executions of every statement in a program at least once. The principal idea establishment the st atement coverage methodology is that unless a statement is executed, we have way of determining if an error existed in that statement. In other words, the statement coverage mensuration RAP85 is based on the observation that an error existing in one part of a program cannot be discovered if the part of the program containing the error and generating the failure is not executed. However, executed a statement once and that too for just one input value and observing that it behaves properly for that input value is no guarantee that it will behave correctly for all inputs.1.9.2.2 Branch CoverageIn branch coverage testing, test cases are designed such that the different branch conditions are given true and false values in turn. It is obvious that branch testing guarantees statement coverage and thus is a stronger testing criterion than the statement coverage testing RAP85.1.9.2.3 Path CoverageThe path coverage based testing strategy requires designing test cases such that all linearly i ndependents paths in the program are executed at least once. A linearly independent path is defined in terms of the control blend graph (CFG) of the program.1.9.2.4 tat testingLoops are very important constructs for generally all the algorithms. Loop testing is a white box testing technique. It focuses exclusively on the validity of tat constructs. round-eyed handbuild, concatenated loop, nested loop, and unstructured loop are four different types of loops BEI90 as shown in figure 1.6.Simple Loop The following set of tests should be applied to simple loop where n is the maximum number of allowable passes thru the loopSkip the loop entirely.Only one pass thru the loop.Two passes thru the loop.M passes thru the loop where m N-1, n, n+1 passes thru the loop.Nested Loop Beizer BEI90 approach to the nested loopStart at the innermost loop. delimitate all other loops to minimum value.Conduct the simple loop test for the innermost loop while holding the outer loops at their minimum grommet parameter value.Work outward, conducting tests for next loop, but keeping all other outer loops at minimum values and other nested loops to typical values.Continue until all loops have been tested.Concatenated loops These can be tested using the approach of simple loops if each loop is independent of other. However, if the loop counter of loop 1 is used as the initial value for loop 2 then approach of nested loop is to be used.Unstructured loop This class of loops should be redesigned to reflect the use of the structured programming constructs.1.9.2.5 McCabes Cyclomatic ComplexityThe McCabes Cyclomatic Complexity MCC76 of a program defines the number of independent paths in a program. inclined a control take to the woods interpret G of a program, the McCabes Cyclomatic Complexity V(G) can be computed asV(G)=E-N+2Where E is the number of edges in the control flow graph and N is the number of nodes of the control flow graph.The cyclomatic complexity value of a program defi nes the number of independent paths in the basis set of the program and provides a lower bound for the number of test cases that must be conducted to ensure that all statements have been executed at least once. wise(p) the number of test cases required does not make it easy to derive the test cases, it only gives an indication of the minimum number of test cases required.The following is the sequences of step that need to be undertaken for deriving the path coverage based test case of a program.Draw the CFG.Calculate Cyclomatic Complexity V(G).Calculate the basis set of linearly independent paths.Prepare a test case that will force execution of each path in the basis set.1.9.2.6 Data lam based TestingThe data flow testing method chooses test paths of a program based on the locations of definitions and uses of variables in the program. Various data flow testing approaches have been examined FRA88 NTA88 FRA93. For data flow testing each statement in program is allocated a unique st atement number and that each function does not alter its parameters or ball-shaped variables. For a statement with S as its statement number,DEF(S) = X statement S contains a definition of XUSE(S) = X statement S contains a use of XIf statement S is if or loop statement, its DEF set is left empty and its USE set is founded on the condition of statement S. The definition of a variable X at statement S is live at statement S, if there exists a path from statement S to S which does not contain any condition of X.A definition-use chain (or DU chain) of variable X is of the type X,S,S where S and S are statement numbers, X is in DEF(S), USE(S), and the definition of X in statement S is live at statement S.One basic data flow testing strategy is that each DU chain be covered at least once. Data flow testing strategies are helpful for choosing test paths of a program including nested if and loop statements1.9.3 Grey-Box testing techniqueGrey box testing BIN99 designs test cases using both responsibility-based (black box) and implementation-based (white box) approaches. To completely test a tissue application one needs to combine the two approaches, White-box and Black-box testing. It is used for testing of Web based applications. The Gray-box testing approach takes into account all components maFactors Affecting Web Applications MaintenanceFactors Affecting Web Applications MaintenanceChapter 11.1 IntroductionSoftware engineering PRE01 is the process associated with industrial quality software development, the methods used to analyze, design test computer Software, the management techniques associated with the control monitoring of Software projects the tools used to support process, methods, techniques. In Software Development Life Cycle, the focus is on the activities like feasibility study, requirement analysis, design, coding, testing, maintenance.Feasibility study involves the issues like technical/economical/ behavioral feasibility of project. Requiremen t analysis DAV93 emphasizes on identifying the needs of the system producing the Software Requirements Specification document (SRS), JAL04 that describes all data, functional behavioral requirements, constraints, validation requirements for Software.Software Design is to plan a solution of the problem specified by the SRS document, a step in moving from the problem domain to the solution domain. The output of this phase is the design document. Coding is to translate the design of the system into code in a programming language. Testing is the process to detect defects minimize the risk associated with the residual defects. The activities carried out after the delivery of the software comprises the maintenance phase.1.2 Evolution of Software Testing DisciplineThe effective functioning of modern systems depends on our ability to produce software in a cost-effective way. The term software engineering was first used at a 1968 NATO workshop in West Germany. It focused on the growing s oftware crisis. Thus we see that the software crisis on quality, reliability, high costs etc. started way back when most of todays software testers were not even born.The attitude towards Software Testing BEI90 underwent a major positive change in the recent years. In the 1950s when Machine languages were used, testing was nothing but debugging. When in the 1960s, compilers were developed, testing started to be considered a separate activity from debugging.In the 1970s when the software engineering concepts were introduced, software testing began to evolve as a technical discipline. Over the last two decades there has been an increased focus on better, faster and cost-effective software. Also there has been a growing interest in software safety, protection and security and hence an increased acceptance of testing as a technical discipline and also a career choice.Now to answer, What is Testing? we can go by the famous definition of Myers MYE79, which says, Testing is the process of executing a program with the intent of finding errors. According to Humphrey, software testing is defined as, the execution of a program to find its faults. Testing is the process to prove that the software works correctly PRA06.Software testing is a crucial aspect of the software life cycle. In some form or the other it is present at each phase of (any) software development or maintenance model. The importance of software testing and its impact on software cannot be underestimated. Software testing is a fundamental component of software quality assurance and represents a review of specification, design and coding. The greater visibility of software systems and the cost associated with software failure are motivating factors for planning, through testing. It is not uncommon for a software organization to spend 40-50% of its effort on testing.During testing, the software engineering produces a series of test cases that are used to rip apart the software they have produced. Testing is the one step in the software process that can be seen by the developer as destructive instead of constructive. Software engineers are typically constructive people and testing requires them to overcome preconceived concepts of correctness and deal with conflicts when errors are identified.A successful test is one that finds a defect. This sounds simple enough, but there is much to consider when we want to do software testing. Besides finding faults, we may also be interested in testing performance, safety, fault-tolerance or security. Testing often becomes a question of economics. For projects of a large size, more testing will usually reveal more bugs. The question then becomes when to stop testing, and what is an acceptable level of bugs. This is the question of good enough software.Testing is the process of verifying that a product meets all requirements. A test is never complete. When testing software the goal should never be a product completely free from defects, because its impossible. According to Peter Nielsen, The average is 16 faults per 1000 lines of code when the programmer has tested his code and it is believed to be correct. When looking at a larger project, there are millions of lines of code, which makes it impossible to find all present faults. Far too often products are released on the market with poor quality. Errors are often uncovered by users, and in that stage the cost of removing errors is large in amount.1.3 Objectives of TestingGlen Myers MYE79 states a number of rules that can serve well as testing objectivesTesting is a process of executing a program with the intent of finding an error.A good test is one that has a high probability of finding an as yet undiscovered error.A successful test is one that uncovers an as yet undiscovered error.The objective is to design tests that systematically uncover different classes of errors do so with a minimum amount of time effort.Secondary benefits includeDemonstrate that Software functions appear to be working according to specification.That performance requirements appear to have been met.Data collected during testing provides a good indication of Software reliability some indication of Software quality.Testing cannot show the absence of defects, it can only show that Software defects are present.1.4 Software Testing Its Relation with Software Life CycleSoftware testing should be thought of as an integral part of the Software process an activity that must be carried out throughout the life cycle.Each phase in the Software lifecycle has a clearly different end product such as the Software requirements specification (SRS) documentation, program unit design program unit code. Each end product can be checked for conformance with a previous phase against the original requirements. Thus, errors can be detected at each phase of development.Validation Verification should occur throughout the Software lifecycle.Verification is the process of evaluating each phase end pr oduct to ensure consistency with the end product of the previous phase.Validation is the process of testing Software, or a specification, to ensure that it matches user requirements.Software testing is that part of validation verification associated with evaluating analysing program code. It is one of the two most expensive stages within the Software lifecycle, the other being maintenance. Software testing of a product begins after the development of the program units continues until the product is obsolete.Testing fixing can be done at any stage in the life cycle. However, the cost of finding fixing errors increases dramatically as development progresses.Changing a Requirements document during the first review is inexpensive. It costs more when requirements change after the code has been written the code must be rewritten. Bug fixes are much cheaper when programmers find their own errors. Fixing an error before releasing a program is much cheaper than sending new disks, or eve n a technician to each customers site to fix it later. It is illustrated in Figure 1.1.The types of testing required during several phases of Software lifecycle are described belowRequirementsRequirements must be reviewed with the client rapid prototyping can refine requirements accommodate changing requirements.SpecificationThe specifications document must be checked for feasibility, traceability, completeness, absence of contradictions ambiguities.Specification reviews (walkthroughs or inspections) are especially effective.DesignDesign reviews are similar to specification reviews, but more technical.The design must be checked for logic faults, interface faults, lack of exception handling, non-conformance to specifications.ImplementationCode modules are informally tested by the programmer while they are being implemented (desk checking).Thereafter, formal testing of modules is done methodically by a testing team. This formal testing can include non-execution-based methods (code inspections walkthroughs) execution-based methods (black-box testing, white-box testing).IntegrationIntegration testing is performed to ensure that the modules combine together correctly to achieve a product that meets its specifications. Particular care must be given to the interfaces between modules.The appropriate order of combination must be determined as top-down, bottom-up, or a combination thereof.Product TestingThe functionality of the product as a whole is checked against its specifications. Test cases are derived directly from the specifications document. The product is also tested for robustness (error-handling capabilities stress tests).All source code documentation are checked for completeness consistency.Acceptance TestingThe Software is delivered to the client, who tests the Software on the actual h/w, using actual data instead of test data. A product cannot be considered to satisfy its specifications until it has passed an acceptance test.Commercial off-the-she lf (or shrink-wrapped) Software usually undergoes alpha beta testing as a form of acceptance test.MaintenanceModified versions of the original product must be tested to ensure that changes have been correctly implemented.Also, the product must be tested against previous test cases to ensure that no inadvertent changes have been introduced. This latter consideration is termed regression testing.Software Process ManagementThe Software process management plan must undergo scrutiny. It is especially important that cost duration estimates be checked thoroughly.If left unchecked, errors can propagate through the development lifecycle amplify in number cost. The cost of detecting fixing an error is well documented is known to be more costly as the system develops. An error found during the operation phase is the most costly to fix.1.5 Principles of Software TestingSoftware testing is an extremely creative intellectually challenging task. The following are some important principles D AV95 that should be kept in mind while carrying Software testing PRE01 SUM02Testing should be based on user requirements This is in order to uncover any defects that might cause the program or system to fail to meet the clients requirements.Testing time resources are limited Avoid redundant tests.It is impossible to test everything Exhaustive tests of all possible scenarios are impossible, because of the many different variables affecting the system the number of paths a program flow might take.Use effective resources to test This represents use of the most suitable tools, procedures individuals to conduct the tests. Only those tools should be used by the test team that they are confident familiar with. Testing procedures should be clearly defined. Testing personnel may be a technical group of people independent of the developers.Test planning should be done early This is because test planning can begin independently of coding as soon as the client requirements are set.Test for invalid unexpected input conditions as well as valid conditions The program should generate correct messages when an invalid test is encountered should generate correct results when the test is valid.The probability of the existence of more errors in a module or group of modules is directly proportional to the number of errors already found.Testing should begin at the module The focus of testing should be concentrated on the smallest programming units first then expand to other parts of the system.Testing must be done by an independent party Testing should not be performed by the person or team that developed the Software since they tend to defend the correctness of the program.Assign best personnel to the task Because testing requires high creativity responsibility only the best personnel must be assigned to design, implement, analyze test cases, test data test results.Testing should not be planned under the implicit assumption that no errors will be found.Testing is the pro cess of executing Software with the intention of finding errors.Keep Software static during test The program must not be modified during the implementation of the set of designed test cases.Document test cases test results.Provide expected test results if possible A necessary part of test documentation is the specification of expected results, even though it is impractical.1.6 Software Testability Its CharacteristicsTestability is the ability of Software (or program) with which it can easily be tested PRE01 SUM02. The following are some key characteristics of testabilityThe better it works, the more efficient is testing process.What you see is what you test (WYSIWYT).The better it is controlled, the more we can automate or optimize the testing process.By controlling the scope of testing we can isolate problems perform smarter retesting.The less there is to test, the more quickly we can test it.The fewer the changes, the fewer the disruptions to testing.The more information we hav e, the smarter we will test.1.7 Stages in Software Testing ProcessExcept for small programs, systems should not be tested as a single unit. Large systems are built out of sub-systems, which are built out of modules that are composed of procedures functions. The testing process should therefore proceed in stages where testing is carried out incrementally in conjunction with system implementation.The most widely used testing process consists of five stages that are illustrated in Table 1.1.Errors in program components, say may come to light at a later stage of the testing process. The process is therefore an iterative one with information being fed back from later stages to earlier parts of the process. The iterative testing process is illustrated in Figure 1.2 and described belowUnit Testing Unit testing is code-oriented testing. Individual components are tested to ensure that they operate correctly. Each component is tested independently, without other system components.Module Test ing A module is a collection of dependent components such as an object class, an abstract data type or some looser collection of procedures functions. A module encapsulates related components so it can be tested without other system modules.Sub-system (Integration) Testing This phase involves testing collections of modules, which have been integrated into sub-systems. It is a design-oriented testing is also known as integration testing.Sub-systems may be independently designed implemented. The most common problems, which arise in large Software systems, are sub-systems interface mismatches. The sub-system test process should therefore concentrate on the detection of interface errors by rigorously exercising these interfaces.System Testing The sub-systems are integrated to make up the entire system. The testing process is concerned with finding errors that result from unanticipated interactions between sub-systems system components. It is also concerned with validating that the s ystem meets its functional non-functional requirements.Acceptance Testing This is the final stage in the testing process before the system is accepted for operational use. The system is tested with data supplied by the system client rather than simulated test data. Acceptance testing may reveal errors omissions in the systems requirements definition (user-oriented) because real data exercises the system in different ways from the test data.Acceptance testing may also reveal requirement problems where the system facilities do not really meet the users needs (functional) or the system performance (non-functional) is unacceptable.1.8 The V-model of TestingTo test an entire software system, tests on different levels are performed. The V model FEW99, shown in figure 1.3, illustrates the hierarchy of tests usually performed in software development projects. The left part of the V represents the documentation of an application, which are the Requirement specification, the Functional spec ification, System design, the Unit design.Code is written to fulfill the requirements in these specifications, as illustrated in the bottom of the V. The right part of the V represents the test activities that are performed during development to ensure that an application corresponding to its requirements.Unit tests are used to test that all functions and methods in a module are working as intended. When the modules have been tested, they are combined and integration tests are used to test that they work together as a group. The unit- and integration test complement the system test. System testing is done on a complete system to validate that it corresponds to the system specification. A system test includes checking if all functional and all non-functional requirements have been met.Unit, integration and system tests are developer focused, while acceptance tests are customer focused. Acceptance testing checks that the system contains the functionality requested by the customer, in the Requirement specification. Customers are usually responsible for the acceptance tests since they are the only persons qualified to make the judgment of approval. The purpose of the acceptance tests is that after they are preformed, the customer knows which parts of the Requirement specification the system satisfies.1.9 The Testing TechniquesTo perform these types of testing, there are three widely used testing techniques. The above said testing types are performed based on the following testing techniquesBlack-Box testing techniqueBlack box testing (Figure 1.4) is concerned only with testing the specification. It cannot guarantee that the complete specification has been implemented. Thus black box testing is testing against the specification and will discover faultsofomission, indicating that part of the specification has not been fulfilled. It is used for testing based solely on analysis of requirements (specification, user documentation).In Black box testing, test cases are de signed using only the functional specification of the software i.e without any knowledge of the internal structure of the software. For this reason, black-box testing is also known as functional testing. Black box tests are performed to assess how well a program meets its requirements, looking for missing or incorrect functionality. Functional testing typically exercise code with valid or nearly valid input for which the expected output is known. This includes concepts such as boundary values.Performance tests evaluate response time, memory usage, throughput, device utilization, and execution time. Stress tests push the system to or beyond its specified limits to evaluate its robustness and error handling capabilities. Reliability tests monitor system response to represent user input, counting failures over time to measure or certify reliability.Black box Testing refers to analyzing a running program by probing it with various inputs. This kind of testing requires only a running pro gram and does not make use of source code testing of any kind. In the security paradigm, malicious input can be supplied to the program in an effort to cause it to break. If the program breaks during a particular test, then a security problem may have been discovered.Black box testing is possible even without access to binary code. That is, a program can be tested remotely over a network. All that is required is a program running somewhere that is accepting input. If the tester can supply input that the program consumes (and can observe the effect of the test), then black box testing is possible. This is one reason that real attackers often resort to black box techniques. Black box testing is not an alternative to white box techniques. It is a complementary approach that is likely to uncover a different type of errors that the white box approaches.Black box testing tries to find errors in the following categoriesIncorrect or missing functionsInterface errorsErrors in data structures or external database accessPerformance errors, andInitialization and termination errors.By applying black box approaches we produce a set of test cases that fulfill requirementsTest cases that reduce the number of test cases to achieve reasonable testingTest cases that tell us something about the presence or absence of classes of errors.The methodologies used for black box testing have been discussed below1.9.1.1 Equivalent PartitioningEquivalence partitioning is a black box testing approach that splits the input domain of a program into classes of data from which test cases can be produced. An ideal test case uncovers a class of errors that may otherwise before the error is detected. Equivalence partitioning tries to outline a test case that identifies classes of errors.Test case design for equivalent partitioning is founded on an evaluation of equivalence classes for an input condition BEI95. An equivalence class depicts a set of valid or invalid states for the input condition. E quivalence classes can be defined based on the following PRE01If an input condition specifies a range, one valid and two invalid equivalence classes are defined.If an input condition needs a specific value, one valid and two invalid equivalence classes are defined.If an input condition specifies a member of a set, one valid and one invalid equivalence class is defined.If an input condition is Boolean, one valid and invalid class is outlined.1.9.1.2 Boundary Value AnalysisA great many errors happen at the boundaries of the input domain and for this reason boundary value analysis was developed. Boundary value analysis is test case design approach that complements equivalence partitioning. BVA produces test cases from the output domain also MYE79.Guidelines for BVA are close to those for equivalence partitioning PRE01If an input condition specifies a range bounded by values a and b, test cases should be produced with values a and b, just above and just below a and b, respectively.If an input condition specifies various values, test cases should be produced to exercise the minimum and maximum numbers.Apply guidelines above to output conditions.If internal program data structures have prescribed boundaries, produce test cases to exercise that data structure at its boundary.White-Box testing techniqueWhite box testing (Figure 1.5) is testing against the implementation as it is based on analysis of internal logic (design, code etc.) and will discover faultsofcommission, indicating that part of the implementation is faulty. Designing white-box test cases requires thorough knowledge of the internal structure of software, and therefore the white-box testing is also called the structural testing. White box testing is performed to reveal problems with the internal structure of a program.A common goal of white-box testing is to ensure a test case exercises every path through a program. A fundamental strength that all white box testing strategies share is that the entire so ftware implementation is taken into account during testing, which facilitates error detection even when the software specification is vague or incomplete. The effectiveness or thoroughness of white-box testing is commonly expressed in terms of test or code coverage metrics, which measure the fraction of code exercised by test cases.White box Testing involves analyzing and understanding source code. Sometimes only binary code is available, but if you decompile a binary to get source code and then study the code, this can be considered a kind of white box testing as well. White box testing is typically very effective in finding programming errors and implementation errors in software. In some cases this activity amounts to pattern matching and can even be automated with a static analyzer.White box testing is a test case design approach that employs the control architecture of the procedural design to produce test cases. Using white box testing approaches, the software engineering can produce test cases thatGuarantee that all independent paths in a module have been exercised at least onceExercise all logical decisionsExecute all loops at their boundaries and in their operational boundsExercise internal data structures to maintain their validity.There are several methodologies used for white box testing. We discuss some important ones below.1.9.2.1 Statement CoverageThe statement coverage methodology aims to design test cases so as to force the executions of every statement in a program at least once. The principal idea governing the statement coverage methodology is that unless a statement is executed, we have way of determining if an error existed in that statement. In other words, the statement coverage criterion RAP85 is based on the observation that an error existing in one part of a program cannot be discovered if the part of the program containing the error and generating the failure is not executed. However, executed a statement once and that too for just one input value and observing that it behaves properly for that input value is no guarantee that it will behave correctly for all inputs.1.9.2.2 Branch CoverageIn branch coverage testing, test cases are designed such that the different branch conditions are given true and false values in turn. It is obvious that branch testing guarantees statement coverage and thus is a stronger testing criterion than the statement coverage testing RAP85.1.9.2.3 Path CoverageThe path coverage based testing strategy requires designing test cases such that all linearly independents paths in the program are executed at least once. A linearly independent path is defined in terms of the control flow graph (CFG) of the program.1.9.2.4 Loop testingLoops are very important constructs for generally all the algorithms. Loop testing is a white box testing technique. It focuses exclusively on the validity of loop constructs. Simple loop, concatenated loop, nested loop, and unstructured loop are four different t ypes of loops BEI90 as shown in figure 1.6.Simple Loop The following set of tests should be applied to simple loop where n is the maximum number of allowable passes thru the loopSkip the loop entirely.Only one pass thru the loop.Two passes thru the loop.M passes thru the loop where m N-1, n, n+1 passes thru the loop.Nested Loop Beizer BEI90 approach to the nested loopStart at the innermost loop. Set all other loops to minimum value.Conduct the simple loop test for the innermost loop while holding the outer loops at their minimum iteration parameter value.Work outward, conducting tests for next loop, but keeping all other outer loops at minimum values and other nested loops to typical values.Continue until all loops have been tested.Concatenated loops These can be tested using the approach of simple loops if each loop is independent of other. However, if the loop counter of loop 1 is used as the initial value for loop 2 then approach of nested loop is to be used.Unstructured loop Thi s class of loops should be redesigned to reflect the use of the structured programming constructs.1.9.2.5 McCabes Cyclomatic ComplexityThe McCabes Cyclomatic Complexity MCC76 of a program defines the number of independent paths in a program. Given a control flow Graph G of a program, the McCabes Cyclomatic Complexity V(G) can be computed asV(G)=E-N+2Where E is the number of edges in the control flow graph and N is the number of nodes of the control flow graph.The cyclomatic complexity value of a program defines the number of independent paths in the basis set of the program and provides a lower bound for the number of test cases that must be conducted to ensure that all statements have been executed at least once. Knowing the number of test cases required does not make it easy to derive the test cases, it only gives an indication of the minimum number of test cases required.The following is the sequences of steps that need to be undertaken for deriving the path coverage based test c ase of a program.Draw the CFG.Calculate Cyclomatic Complexity V(G).Calculate the basis set of linearly independent paths.Prepare a test case that will force execution of each path in the basis set.1.9.2.6 Data Flow based TestingThe data flow testing method chooses test paths of a program based on the locations of definitions and uses of variables in the program. Various data flow testing approaches have been examined FRA88 NTA88 FRA93. For data flow testing each statement in program is allocated a unique statement number and that each function does not alter its parameters or global variables. For a statement with S as its statement number,DEF(S) = X statement S contains a definition of XUSE(S) = X statement S contains a use of XIf statement S is if or loop statement, its DEF set is left empty and its USE set is founded on the condition of statement S. The definition of a variable X at statement S is live at statement S, if there exists a path from statement S to S which does not co ntain any condition of X.A definition-use chain (or DU chain) of variable X is of the type X,S,S where S and S are statement numbers, X is in DEF(S), USE(S), and the definition of X in statement S is live at statement S.One basic data flow testing strategy is that each DU chain be covered at least once. Data flow testing strategies are helpful for choosing test paths of a program including nested if and loop statements1.9.3 Grey-Box testing techniqueGrey box testing BIN99 designs test cases using both responsibility-based (black box) and implementation-based (white box) approaches. To completely test a web application one needs to combine the two approaches, White-box and Black-box testing. It is used for testing of Web based applications. The Gray-box testing approach takes into account all components ma
Monday, June 3, 2019
Dislike of mathematics amongst secondary students
Dislike of mathss amongst secondary studentsDISLIKE OF MATHEMATICS AMONGST SECONDARY STUDENTS1. INTRODUCTIONWhy do kids, students and adults seem dislike maths? It is quite common for sm on the whole in all children to say I love numbers. Do they actually know exactly what maths is?We al tracks see small children counting numbers from 1 to 10, even sing a song make up from the numbers. But what happen to these children as they grow up? What make them to change their mind to dislike maths? Some volition roll their eyes or let out a sigh. They give so many reasons, such as Its too hard, Im not good at math, or why do I even take Mathematics? Where does this attitude come from? After being a Mathematics teacher for about 3 years, I have discovered that al about all students in Brunei Darussalam claimed to hate mathematics. This merchant ship be seen from their attitude in the severalize, interaction with the teacher and also the students progress report. The very(prenominal ) much sad occasion is that students notwithstanding want to pass the examination without understanding why they have to assume mathematics. Still mathematics has the highest failure rate of any subject at school-leaving level. Why does mathematics seem to inspire fear and intimidation in students in secondary schools and even when they argon in the higher level. In my childhood, I still remember is that I was not taught how to study mathematics. Like any subject the study of mathematics pop offs a pile of information. But if you are taught how to study mathematics then you will never find this botheratic. Mathematics aro practice sessionnot be taught one way. Students forever stick to the method being taught without seeking the alternative way of the meshing. These kinds of attitude make mathematics become strict to the rule method. One funny culture about students in Brunei, it is an honor for them to admit they are not good in mathematics, but who would ever admit to NOT being able to Read? This has been passing from generations. Math is an essential subject to assign our modern way of life. Without mathematics, not much would be possible. So why is it satisfying to become a failure at mathematics? They believe that mathematics only belongs to gifted or genius who wants to become a mathematics teacher, doctor, professor, engineer and lots more than.2. Real Scenario in BruneiFrom my previous experience as a Mathematics teacher, students in Brunei especially weak classes, tend to show their unwillingness at the start of the lesson. Students still keep wandering around during teacher battlefront in front .Students are expected to be ready for lesson the moment the teacher steps into the classroom. Textbooks, exercise books and any materials as required by the teacher are to be placed on their desks. Action is usually taken on persistent students who always forget to bring their learning materials, the purpose, which is to teach and cup self-respon sibility in the students. However, there are also some students who do not care about the warning given by the class teacher.First assess when teaching a class is to correctly understand the students background, their expectations from the course and their willingness to do the required efforts. May be this can be done by conducting a survey or simply just ask them personally.At the beginning of the lesson, for upper secondary level, students will find the topics quite new for them. It is quite a common scene to see students lost their direction at the beginning of the lesson. It is the job of the teacher to interact with them and try to relate the topics to cursory life. What I can say here, the level of ignorance of the students very high towards the subject Mathematics. Students who show interest in studying Mathematics at the beginning of the lesson whitethorn also somehow lost their direction as the teacher goes deeper into the subject matter.Students are also required to su bmit their home treat on term. Usually, I begin the lesson by reviewing the homework that has been set during the previous class. Some students do not submit due to difficulties that the students have. Generally teachers are very strict with deadlines for the submission of homework. Overall, there is always a sentiment of anti-mathematics in every class that I taught which can be seen from all aspects of the students. In the next pages, I will explain more on the factors that rise up this critical issue of mathematics.3. Sign of having problems in Mathematics amongst the studentsA student with problems in mathematics may shows one or more of the following belowunable to recall basic mathematics rules, or formulas even the teachers have explain repeatedlyhaving difficulties in understanding mathematical work and spend long time in learning simple topics Very low esteem which can seen from their handwriting which is hard to read. Have difficulties in computer storage previously enco untered questions which have been attempted many times before. Have problem in recall what have been taught in previous class Not confident, flicker and forget what he or she is doing in the middle of a math problem Have hassle with the language of mathematics and easily being confused. The students do not know when/how to use the correct theorem/formula for mathematical problems. Easily lost direction or concentration whiles the teachers teaching in front. Have difficulty explaining and communicating about mathematics, including asking and answering questions. Escape or absent from class, late submitting homework and fail in mathematics are one of the most common behavior of problematic students towards mathematics.4. The factors that make students dislike MathematicsA. Sequential in nature.Mathematics is sequential in nature. That means that when we learn one thought , familiarity or learning, it will be needed in another topics. This is basically true when students who have not mastered a preceding skill have difficulty in learning new work. Students might feel discourage by this continuous learning and exhausted throughout the process. Obviously, students who have solid basic knowledge will be able to do mathematics problem much faster compare to students who are not.Students find math to be hard is because it is usually not taught correctly, and it is usually not studied correctly. Mathematics needs to be learned step by step, topic by topic. If a student does not completely understand a particular topic, there is no point in moving on to a harder topic that requires knowledge of the first topic. It is typical in Brunei, there is very little time to review back the old materials in school. It is up to the student to recognize if the students do not fully understand a particular topic, and to go for tutoring. In most cases, this doesnt happen, and the student gradually becomes more and more confused and discouraged. Another problem is that students a re promoted from one grade to the next, even if they are not at all close to being ready for the next grades work. There are a variety of reasons why this happens, none of which are the focus of this editorial, but Ill just say that until we stop pushing kids into classes that they arent ready for, the education crisis in this farming will continue and get worse. Mathematics is a subject that requires a tremendous amount of thought and patience. Weak students typically rush through their mathematics homework, and declare it to be done, The students not even check the working properly and not even thought of the answer. The following day in school, the teacher will review the homework very quickly, and then just move on to a new topic. B. One answer conceptMathematics is an exact subject. Normally, students in Brunei will take 8 subjects during their secondary level and Mathematics is the only subject that requires long working but yet only one acceptable answer. Many students have trouble with the exactness of mathematics. For them, what is wrong is always wrong and vice versa. Students always thought that Doing mathematics means getting one regenerate answer, Mathematics is a collection of rules, theorems, and procedures to be memorized, and Teaching math involves working through the textbook page by page and assigning drill exercises from the workbooks or worksheets for practice. As a result of belief in these myths, many students are convinced that they cannot do math. Students are very fragile at this stage, they rather bring down on the subjects that not required drilling like mathematics and give up mathematics. But the students do not know that mathematics can become more interesting as they go further, mathematics is not just getting the right answer.C. Math PhobiaIm not good at math, I hate math or math is too hard are common phrases heard by teachers and parents. One of the symptom is s/he does not want to do any class work. When the task is easy , s/he tries to do the work but never completes the assignment. Sometimes, s/he gets disappointed and says that s/he is stupid because she just doesnt understand math. Anxious individuals may avoid mathematics classes, may be more likely to have blackball attitudes toward mathematic related activities. This type of students seems to suffer from math phobia also known as math anxiety. Mathematics anxiety means the students fear that one routine be able to do the math or the fear that its too hard or the fear of failure. The students had very negative experiences in her mathematics class that the students failed before. May be the previous teachers might have had ignored this type of students that lead to lack self-efficacy. D. Difficulty Transferring Knowledge(connection with reality)One very common difficulty go through by students with mathematics problems is the inability to connect mathematics concept to the real world. In school, this can obviously be seen when we give ques tions which involve loss and avail gain of purchasing products to the students. Only few of them can deeply understand what is meant by loss and gain. The fear of mathematics makes them uneasy to relate mathematics problems to their everyday life.In O level Mathematics Examination, it is about 20 percent in paper 1 dealing with everyday life mathematics and the students always fall into these tricky questions. They spend long time in solving this and sometime to a halt. Students do not believe that directly proportion rules can be used in our life when buying goods. What I try to say here is that, the students do not trust the power of mathematics and how mathematics can benefit us.Students usually are not aware that mathematics is everywhere in this world and it is unavoidable for them to meet Math problems in the real world. Whenever they go to the shop, students normally do not bring the knowledge they have gain in school with them. They thought that mathematics exist only in sc hool just for the sake of the examination. E. Less motivationThe last but not least, students have less motivation when come to studying mathematics. The word unoccupied is very common given to the students who do not submit their homework. Lengthy working and long formula become a burden for them. Not all students who are weak in mathematics because they have problems with the subject but due to lack of motivation from the teachers and also the parent.It is quite common to encounter students who do badly in mathematics but excel in other subjects. In some case, the students do give up in studying mathematics and even choose not to involve in the fields that required Mathematics. There are also students who just escape the mathematics class just to avoid this important subject.Less motivation will lead the students to less confident in doing mathematics problem and as the days goes by, they see mathematics as a subject that make the feel down. F. Incomplete Understanding of the Lan guage of MathFor some students, dislike of mathematics is driven by problems with language. These students may also experience difficulty with reading, writing, and speaking. In mathematics, however, their language problem is due to the topics itself example matrices, simultaneous equation, vector and some of which they hear nowhere outside of the math classroom. These students have difficulty understanding written or verbal directions or explanations.5. How to overcome students who dislike mathematicsa) Teach basic concepts using concrete objects. permit students learn mathematics in which they can feel and experience themselves. Learning probability will become more interesting by allowing them using marbles, cards and colored balls. Students will tend to remember more which suspensor them to understand the concept easily.b) Provide specialized materials.As a teacher it is important to use correct materials for the students. For example, using graph paper will help the students in drawing the axes and plotting the points. Scrap paper can also be used to aid the students to do working for every mathematics problems. Teachers should aware the students to be more organize in doing there working and emphasize the important of discipline in mathematics.c) Practice student-centered.Ask the students the procedures they would like to use when solving a problem, and guide each procedure for them. The interaction between students and teacher will somehow help in the learning process. By doing this also, the teachers will know the weakness, the strength of each of the students and the confusion they leading to.d) Use cooperative math-problem-solving activities.To overcome dislike of mathematics, teachers should give opportunities for students to work in groups when solving math problems. The students will gradually gain their confidence by sharing their thinking aloud as they solve problems. e) Provide time for reviewingtheir work.Teachers must emphasize that comple ting math assignments is a process. Encourage students to become comfortable reviewing their work, making changes, or asking questions when they are unsure of their answers. f) Connect mathematics concept to the real-world. Teacher must understand that mathematics is always a problem for students. By connecting mathematics problems to the everyday used will be very helpful to the students. Students can easily digest the mathematics concept and even apply to themselves. For example in studying statistics, we can ask the students to make a case study of population in Brunei or how to use percentages to understand the price of a jacket on sale at the mall or the amount of their allowance spent on snacks.6. My conclusionFrom my own understanding, with the widespread dislike of mathematics, it is not the job of educator only but also the corporation on changing these negative attitudes. I suggest that teachers should focus on improving the classroom affective environment and mentally mo tivate the students to foster controlling attitudes in mathematics. As a parent, they must understand that gaining knowledge is not only at school but also need to be obliging at home.
Sunday, June 2, 2019
Teenage Drinking and Its Effects on the Development of Alcoholism Later
Teenage Drinking and Its Effects on the Development of Alcoholism LaterTeenage discombobulateing is something that goes on every day. No matter how many a(prenominal) videos you show to kids about drinking they will still drink. Surveys show that the average teen seventeen and up spends $475.00 a year on liquor, mostly beer thats more than than books, soda, coffee, juice and milk combined. Most parents dont know about teenage drinking unless they catch their kids doing it. Parents usually say oh, my my kid would never do that , and theyre the ones whose kids probably drink more that the average teen. One might ask, how do kids get alcohol? Alcohol is almost as easy to get as a cartonful of milk, except a teen has to get someone older like a friend, brother or even someone off of the street to leverage it. Another way underage teens get alcohol is a fake I.D. A lot of stores dont care, they just need to ask for an I.D. because they are being watched by security cameras. No matter what city your are in, one in every five stores will sell beer to a minor. If stores stop selling to minors they would lose a lot of business. Looking at the surveys I took at Lincoln on this topic it can been seen what teens think about teenage drinking. The results were portentous The first Question I asked was Have you ever drank alcohol? Of the students surveyed, 16% said no and 84% said yes. The second question was, How often do you drink? The results were on the average three to four drinks a week. The third question was, How much do you usually drink? The average number of beers was octad and the average number of shots was seven. The fourth question was, Have you ever drank alcohol before driving and 68% said yes One of the last questions I asked was, What would you do if you killed someone drinking and driving? The majority replied that they could not live with themselves. Just through talking to lot and going to parties, I have seen most people drink to get drunk, not many people drink just a drink or two. Many students dont feel that drinking is a abuse because they are not hurting any one unless they are driving drunk. Drinking is a crime and there are many penalties for the teen who chooses to work shift the law. For a first time offender a teen would be taken to jail , finger printed, and photographed. At the time of arrest, if drunk, one could be taken to detoxification (detox) ... ...His mother is a recovering alcoholic so he was familiar with what happened when he would lose control when he drank. His mother was very aware of the signs. His grades went down, he started skipping classes, he lied to his mother, he was hanging out with friends who drank a lot and were always in trouble. Fortunately, he was given a second chance and he is in a program that is helping him recover. Teen drinking and alcoholism can be treated if treatment is started early. in that location is no known remediation for alcoholism, but alcoholics can lead prod uctive lives with help. There are many organizations that can help alcoholics such as Alcoholics Anonymous (AA). and Rational Recovery Systems. There are also organizations that promote abstinence from drinking such as S.A.D.D. (Students Against Drunk Driving) and M.A.D.D. (Mothers Against Drunk Driving). It is important for parents to be aware of what their children are doing and who their friends are. Teenagers need to conserve to be educated on the effects of alcohol and the dangerous situations it causes. Sources 1. 1994 Monitoring the Future survey 2. Class notes Bibliography 1. 1994 Monitoring the Future survey 2. Class notes
Saturday, June 1, 2019
LED :: essays research papers
Q What is LED (Light Emitting Diode)?A LED (Light Emitting Diode) is the most commonly used backlight for Cellular phones. The LED backlight offers some benefits over the EL backlight. To start, the LED backlight does not consume an inverter, just a DC source of +3VDC+5VDC. Secondly, depending on the backlight configuration, the brightness can very bright, and thirdly, the life of the LED exceeds 50K hours.http//www.microtipsusa.com/content/Products_FAQS.asp17Abbreviation of light emitting diode, an electronic device that lights up when galvanizingity is passed through it. LEDs atomic number 18 usually red. They argon good for displaying images because they can be relatively small, and they do not burn out.http//www.webopedia.com/ confines/L/LED.htmlhttp//www.edgesystem.net/LED_light_therapy.htmA small indicator light most often used to show the power is on or the device is being used. LEDs are found on your computer case, monitor, printer, modem, CD-ROM drive, and hard drive.Wha t is Inside an LED?LEDs are special diodes that emit light when connected in a circuit. They are frequently used as "pilot" lights in electronic appliances to indicate whether the circuit is closed or not. A a clear (or often colored) epoxy case enclosed the heart of an LED, the semi-conductor eccentric. LED leadsside lead on flatside of bulb = electronegative      The two wires extending be number one the LED epoxy enclosure, or the "bulb" indicate how the LED should be connected into a circuit. The negative side of an LED lead is indicated in two ways 1) by the flat side of the bulb, and 2) by the shorter of the two wires extending from the LED. The negative lead should be connected to the negative terminal of a battery. LEDs operate at relative low voltages between about 1 and 4 volts, and draw up-to-the-minutes between about 10 and 40 milliamperes. Voltages and currents substantially above these values can melt a LED chip. The most importa nt part of a light emitting diode (LED) is the semi-conductor chip located in the center of the bulb as shown at the right. The chip has two regions separated by a junction. The p region is dominated by positive electric charges, and the n region is dominated by negative electric charges. The junction acts as a barrier to the flow of electrons between the p and the n regions. Only when sufficient voltage is applied to the semi-conductor chip, can the current flow, and the electrons cross the junction into the p region. In the absence of a large enough electric potential difference (voltage) across the LED leads, the junction presents an electric potential barrier to the flow of electrons.
Friday, May 31, 2019
The Scarlett Letter :: essays research papers
Symbolism at its best is limitless in conveying a feeling, mood, or atmoshphere that words alone move not define. It mountain trigger emotion, persuade the reader to question everything they know thus far, or inflict thoughts that, in the most twisted sense of the story, would face barely justified. Symboloism reaches out to the reader in numerous ways, but no matter what the effect, its almost always starts as something subconscious. In Nathanial Hawthorns novel, The Scarlet Letter, there is an considerable ammount of symbolism the structure and flow of progression are both held back by this element. The subtle way Hawthorn uses this is incredible he takes us to such a place where everything and everyone is suspect and subject to thorough examination, as things are not always what they count. Other times, however, they are in fact exactly what they seem usually too little too late. By the time the truth is laid outright, the truth had already been known symbolism is subconsci ous. At times when there is no truth to be uncovered, it is the world created by this world of various entities, in a matter of symbol, that lies dormant in the back of the readers head. Being richly and inescapably aware though, from a place deep inside, of the uncertanties and illusions that are not being focused on, instead only hinted at. The minds eye is where symbolism wraps its ugly tentacles of query and discretion, whether realized by the reader or not. The Scarlet Letter, demonstrates this characteristic impecibly. The scaffold where Hester stands in front of the public is symbolic of penitence and Gods judgement. Dimmesdale on the other hand, can not bring himself to stand on the platform and confess his sins, because of its comparison to judgement day. The first time he brings himself to stand upon the scaffold, seeking relief from his dark sin is under the cover of night, as if he could hide his sin from the people, or even God. In the end Dimmesdale does stand on th e scaffold in the light of day to public confess his sins. This took courage, as the platform represented weakness in the eyes of God. Across from the prison Hester was sentenced to there is a move bush the single beautiful thing in a world of sin and shame. In the book when Pearl was asked where she came from, she states that she was plucked from the rosebush.
Thursday, May 30, 2019
Moshe Dayan Research :: essays research papers fc
Moshe Dayan was an Israeli array warrior who became a crusader for peace. He was skilled in both battle and diplomacy. He played a key lineament in four wars, but also helped negotiate the historic Israeli-Egyptian peace treaty. Moshe Dayan was a Soldier and statesman who led Israel to dramatic victories over its Arab neighbours and became a attribute of security to his countrymen. Moshe Dayan was born in a kibbutz, in a town called Deganya Alef (Alef is the name for the letter A in Hebrew) in Palestine, then still break out of the Ottoman Empire May 20th, 1915. His parents were Shmuel and Devorah, and he was the first child born in the newly-established community. When he was only 14 he joined the Haganah. (The Haganah (In Hebrew " apology") was a Zionist military organization in Palestine). He was very influenced by military techniques and teachings officer Orde Wingate gave Moshe. Afterwards he went to Bulgaria where he graduated from the military academy. This is a p icture of Moshes Birthplace. He was once arrested by the British, (when the Haganah was declared illegal), but released after two years when the British cooperated with them during World War II. magic spell he was serving on the Australian 7th Infantry Division, Dayan lost his left eye and began wearing the eyepatch that became his trademark, and later Dayan received the Distinguished table service Order, one of the highest military honors. During the 1948 Arab-Israeli War, Dayan occupied various positions of importance, first as the commander of many military units on the central front. Later he was he became the prime ministers protg, together with Shimon Peres (the future Prime Minister). After the 1948 war, Dayans ranking rose very fast. From 1955 to 1958 he was the Chief of round of the Israeli Defense Force, where he commanded the Israeli forces during the Suez Crisis. In 1959, Dayan joined MAPAI, the leftist party in Israeli politics. Until 1964 he served as the minister of agriculture in Israel, and in 1967, Eshkol (current prime minister) decided to give him the position of Minister of Defense.2General Moshe Dayan (center), Chief of Staff General Yitschak Rabin (right) and General Uzi Narkiss (left), enter Old capital of Israel in 1967Dayan was still the secretary of defense when the Yom Kippur War catastrophically began on October 6, 1973. He was in charge for military planning, and at first didnt pick out for a mobilization of the army, he said that he didnt want Israel to appear as the aggressor, and that Israel could win the war even after an Arab attack.
Witchcraft in the Ibibio Tribe Essay -- Religion
Witchcraft has become a phenomenon in the last few years, launching TV shows and movies onto the screens of televisions and cinemas. It has become an inspirational topic for writers to launch their contiguous book. But, as entertaining as witchcraft maybe to us, it is feared by the Ibibio tribe of Nigeria. This paper will focus on how the Ibibio tribe detected, prevented witchcraft and the massive anti-witch lead that took place all around Africa. Also, this paper will analyze presumptive causes that could have led to a witchcraft bybreak in the Ibibio.Nigeria has had its share of outbreaks but, out of all of them the most unique must have been the witchcraft outbreak that plagued all of Nigeria and the rest of Africa. The Ibibio tribe of Nigeria in the seventeenth century, where about two cardinal people that were mostly agrarians or petty traders, according to Daniel Offiong, researcher and author of Social Relations and Witchcraft Beliefs Among the Ibibio and Witchcraft Among the Ibibio of Nigeria. The tribe was mainly Christian with a few Muslims (Offiong, 1983, pg. 73). They believed in one god and the Holy Ghost, but when they had to deal with an affliction, they went to diviners or spiritualists for treatment (Offiong, 1983, pg. 73-74). When they were plagued with a problem, their main reaction was to blame the problem on witchcraft with no logical explanation behind it. The existence of witchcraft started in Nigeria, due to the continuous process of blaming witchcraft for unexplainable problems. Once witchcraft became the cause of the unexplained problem, people started accusing each other of being witches. Research conducted by Daniel A. Offiong, suggests that the people who were more prone to be acc apply of witchcr... ... used and the anti-witchcraft crusade that took place. It also went into the social elements that may have played a part in the outbreak of witchcraft in this tribe. Works CitedShaman. (2011, 1 11). capital of South Carolina Ele ctronic Encyclopedia.Marwick, M. G. (1952). The Social Context of Cewa Witch Beliefs. Cambridge University Press, 120-135.Offiong, D. (1983). Social Relations and Witch Beliefs among the Ibibio. Cambridge University Press, 73-82.Offiong, D. A. (1983). Witchcraft Among the Ibibio of Nigeria. African Studies Association, 107-124.Offiong, D. A. (1999). Traditional Healers in the Nigerian Health Care remains and the Debate Over Integrating Traditional and Scientific Medicine. Anthropological Quarterly, 118-130.William A. Haviland, H. E. (2008). Cultural Anthropology The Human Challege. Belmont Wadsworth Cengage Learning.
Subscribe to:
Posts (Atom)