Sunday, June 30, 2013
Explain the single and two level directory structures
Posted by
Sunflower
at
6/30/2013 12:30:00 PM
0
comments
Labels: Characters, device, Directory, File system, files, Individual, Limitations, Location, Logical, Operating System, Physical, Single-level, Standard, String, Structure, System, Two-level, Users
|
| Subscribe by Email |
|
Tuesday, June 25, 2013
Explain about demand paging and page replacements
- An
attempt is made for accessing the page.
- If
page is present in the memory the usual instructions are followed.
- If
page is not there i.e., is invalid then a page fault is generated.
- Memory
reference to a location in the virtual memory is checked if it is valid or
not. If it’s an illegal memory access then the process is terminated. If
not the requested page has to be paged in.
- The
disk operations are scheduled for reading the requested page in to the
physical memory.
- Restarting
the instruction that raised the page fault trap.
Posted by
Sunflower
at
6/25/2013 11:49:00 AM
0
comments
Labels: Algorithms, Data, Demand Paging, Logical, Management, Memory, Operating System, Page Replacement, Page table, pages, Paging, Physical, Process, Request, Strategy, Systems, Techniques, Virtual Memory
|
| Subscribe by Email |
|
Thursday, May 30, 2013
What are the various Desk Scheduling methods?
About Disk Scheduling
- User processes: The functions
of this layer including making I/O calls, formatting the I/O and spooling.
- Device independent software: Functions are naming, blocking, protection, allocating and buffering.
- Device drivers: Functions
include setting up the device registers and checking their status.
- Interrupt handlers: These
perform the function of waking up the I/O drivers up on the completion of
the I/O.
- Hardware: Performing the I/O
operations.
Algorithms for Scheduling Disk Requests
Ways to attach to a disk
Posted by
Sunflower
at
5/30/2013 01:09:00 PM
0
comments
Labels: Algorithms, device, Disk, Disk Drive, Disk Scheduling, Hardware, Input, Interrupts, Layers, Logical, Methods, Output, Performance, Process, Requests, Scheduling, Software, Time, User, Wait
|
| Subscribe by Email |
|
Wednesday, May 22, 2013
What are Address Binding, Dynamic Loading and Dynamic Linking?
Posted by
Sunflower
at
5/22/2013 08:45:00 PM
0
comments
Labels: Address, Address Binding, Application, Binding, Dynamic, Dynamic Linking, Dynamic Loading, Functionality, Load, Logical, Operating System, Physical, Process, Routines, Static, Variables, Virtual
|
| Subscribe by Email |
|
Thursday, September 13, 2012
What is QTP? What is meant by logical name of the object?
- For writing specifications for a test
procedure.
- For manipulating the
controls of the software system or application under test.
- For making changes
to the objects present in the software system or application.
- Properties of an
object
- Records within a
data base
- Data within a table
- Bitmap image
- Text present on the
application screen and so on.
- Standard check
points
- Image check points
- Table check points
- Page check points
- Text check points
- Text area check
points
- Bit map check points
- Data base check
points
- Accessibility and
XML check points
- Global data sheets
and
- Local or action data
sheets
What is meant by logical name of the objects?
Posted by
Sunflower
at
9/13/2012 03:43:00 PM
0
comments
Labels: Application, Automated, Automation, Check points, Classes, Code, GUI, Labels, Logical, Logical name, Objects, QTP, Quality, Quick Test Professional, Recording, Software, Testing tools, Tests, Users, VBScript
|
| Subscribe by Email |
|
Monday, July 23, 2012
What is the difference between the graphical user interface testing and usability testing?
Graphical User Interface Testing
Usability Testing
- Efficiency
- Accuracy
- Recall and
- Emotional response
Differences between Graphical User Interface Testing & Usability Testing
Posted by
Sunflower
at
7/23/2012 02:06:00 PM
0
comments
Labels: Application, Controls, Design, Differences, Functionality, Goals, Graphical User Interface Testing, GUI, Logical, Methods, Requirements, Software System, Test cases, Testing, Tests, Usability testing, Users
|
| Subscribe by Email |
|
Friday, April 27, 2012
What is meant by correct filtering of user input?
About Filtering of User Input
- Logical
filtering: It involves a strong and stringent analysis of the input data,
checking for the correctness of the formats and the expected type is
returned if the data passes the test.
- Sanitizing
filtering: It involves determining whether or not to allow certain
characters in a string. The data format is really not cared about in this
type of filtering and a string is always returned.
How can filters be useful?
Posted by
Sunflower
at
4/27/2012 01:35:00 PM
0
comments
Labels: Advantages, Application, Data, Data Filtering, Filters, Functions, Input, Interface, Languages, Logical, Modules, Risks, Security, Software Systems, Software testing, Tasks, Useful, Users, Variables, Web form
|
| Subscribe by Email |
|
Wednesday, March 21, 2012
Cause-Effect Graphing is a black box testing - Explain?
So many testing techniques have been categorized under the black box testing and the cause effect graphing is one of them and that is what the whole article is all about.
- A directed graph created for the purpose of mapping of the set of causes to a set of effects is nothing but a cause effect graph.
- The causes mapped in the graph are merely the input to a software system or application and the effects can be thought of as the corresponding outputs.
- The right of the cause effect graph houses all the effects with their corresponding nodes and the left side shelters all the causes and along with their corresponding nodes.
- A graph representing causes and effects in such a way is said to be a typical cause effect graph.
- It may also make use of certain intermediate nodes for the representation of the relation between the input and the output using the logical operators like AND, OR etc.
- The constraints can be effectively added to the effects and causes in the graph and these represented as the labelled edges using a dashed line along with the symbol of the constraint.
Constraint Symbols for the Causes:
1. E – exclusive
2. OaOO – one and only one
3. I – at least one
- The first constraint is used to state that at any instant any two causes (say cause 1 and cause 2) cannot be true simultaneously.
- The second constraint i.e., the inclusive constraint is used to state that at least one of the two or more numbers of causes must be true.
- The third constraint “one and only one” is used to state that the only one among all the constraints can be true.
Constraints for the Effects
1. R – requires
2. M – mask
- These are the only two valid constraints for the effects.
- The first one states that if one of the causes is true, then it implies that the other one also must be true and it also states that only one of the two constraints can be true and other can be false.
- The second constraint i.e., the mask constraint states just the opposite of the first constraint i.e., if one of the effects is true, then the other must be false.
"One point to be noted here is that the mask constraint only relates to the effects rather than relating to the causes like other constraints."
The direction of the graph is represented as shown below:
Causes -> Intermediate nodes -> Effects
Normal Forms of Cause Effect Graph
The cause effect graph is always rearranged in such a way that at any point between any input and output there lays only one node. Two normal forms of the cause effect graph have been identified:
- Conjunctive normal form
- Disjunctive normal form
When is Cause Effect Graphing performed?
One of the main purposes of the cause effect graph is the generation of the reduced decision table. The cause effect graphing is performed after the following tasks have been completed:
1. All the requirements have been reviewed to check out for any ambiguity.
2. All the requirements have been reviewed for their content.
3. It has been ensured that the requirements are complete and correct.
Cause effect graphing is basically used for hardware testing, but now it has been adopted for the use in the software testing.
It takes in to consideration only the desired external behaviour of the system and therefore it has been categorized as a black box testing technique and only selects the test cases that represent a logical relation between the causes and effects for the production of the test cases.
Posted by
Sunflower
at
3/21/2012 11:09:00 AM
0
comments
Labels: Black box testing, Cause Effect Graphing, Causes, Conjunctive, Constraints, Disjunctive, Effects, Forms, Graph, Input, Logical, Nodes, Output, Perform, Purpose, Recovery Techniques, Requirements
|
| Subscribe by Email |
|
Tuesday, March 13, 2012
What are different aspects of Compounded SQL injection attack?
Till now so many types of SQL injection attacks have been identified. But, there is one type of SQL injection type which results in to different kinds of combinations of the other SQL injection attacks. This type of SQL injection attacks are commonly known as the compound SQL injection attacks.
This type of SQL injection attack has been derived from rigorous research and experimenting with the different SQL injection attack vectors putting them in different combinations with the various other web application attacks.
Some of the most commonly employed combinations are:
1. SQL injection + XSS cross site scripting
2. SQL injection + DDos attacks
3. SQL injection + insufficient authentication
4. SQL injection + DNS hijacking
Compounded SQL Injection Attack
- SQL is a language developed for interacting with the data base of the applications and web sites.
- The functions are mainly defined to retrieve the data from the data bases or to update the contents of the existing data bases.
- It uses compound conditions basically that make use of AND or OR.
- A compound statement is used to group all the other statements so as to constitute an executable block.
- SQL variables can be declared in an atomic compound statement that has been dynamically developed.
- A compound statement can be easily embedded in to SQL functions, SQL methods, trigger etc.
- To invoke a dynamic compound statement no privileges are required, although the authorization ID of the compound statement needs to include all the privileges required invoking the other SQL statements that form a part of that particular compound statement.
- Most of the compilers compile the compound statements as one single statement since this technique proves effective for the short scripts that do not require little control flow logic though a great data flow.
- For larger scripts or constructs, it’s better to use the SQL procedures.
- The “discretize” function is quite a simple one and is often used for the classification and modification of the data and gives back a NULL value for the malicious data.
- Later this malicious data is cleansed up by the compound statement.
- Most of the mechanisms can be elaborated using the technique of multi stage cleansing.
- The advantage of the compound statement is that here the FOR loop neither does open up a cursor nor the single row inserts are treated so.
- Here the underlying logic is of a multi table insert that has been selected previously.
- This advantage is reaped by compiling the dynamic statement as a single one.
- In contrast to this dynamic compound statement, there’s another type called Compounded SQL embedded statement.
- These statements can only be embedded in to the applications.
- In contrast to the dynamic statements, these cannot be prepared dynamically.
- These statements do not required any special privileges for invocation.
Posted by
Sunflower
at
3/13/2012 11:30:00 PM
0
comments
Labels: Applications, Attacker, Authentication, Compounded SQL injection attack, Data, Database, Dynamic, Functions, Logical, Methods, Modify, SQL, SQL injection attack, Statements, Web Applications, Websites
|
| Subscribe by Email |
|
Tuesday, March 6, 2012
What are different methods and techniques used for security testing at white box level?
It requires a great deal of efforts to harness a good level of security. To obtain good security statistics one has to follow a proper approach to the testing. Like for any other kind of software testing one need to decide for security system also that who will carry out the testing and what approach has to be followed. Carrying out the security testing at the white box level is not at all easy as it is very complex and detailed.
APPROACHES FOR SECURITY TESTING AT WHITE BOX LEVEL
Basically till now two basic approaches have been identified for the security testing at the white box level and these have been mentioned below:
1. Functional Security Testing
- This approach to testing is usually followed by the standard testing organizations. - It deals with the checking of the features and functionalities of the software system or application for determining that whether or not they are working as stated. - This sounds like a very classic approach to security testing.
2. Risk Based Security Testing
- This is a more traditional approach to security testing and is followed usually by the quality assurance staff.
- This approach is quite difficult as compared to the previous mentioned approach.
- The main problem here is of the expertise of the testers since this approach calls for great skills in testing.
- Firstly to design the security tests which can completely exploit the vulnerabilities are difficult to be designed since for this it is required that the tester thinks like an attacker.
- Secondly, the security tests do not exploit the security of the software system or application directly and this causes a problem to observe the outcomes of a security test.
ABOUT SECURITY TESTING AT WHITE BOX TESTING LEVEL
1. A security test carried out without much precaution and logic can cause the whole security testing go wrong and this in turn can lead the software tester to carry out even more complicated test processes to counteract such a situation.
2. Risk based testing requires more skills than experience.
3. Most of the security testing methodologies or techniques that we use at the white box level are traditional and some of them have become out dated.
4. On the other hand the security exploitation techniques used by the attackers have become sophisticated day by day and the traditional methods used to cope these issues are becoming extinct.
5. Security testing at both the black box level and white box level tend to have a better understanding of the software system or application but different approaches are followed at both the levels.
6. The different approach followed by them is decided on the basis of the access of the source code i.e., whether or not the tester is having access to source code.
7. Security testing at the white box level is concerned with the rigorous analyzation of the source code of the software program as well its design.
8. It basically deals with finding the errors in the security mechanism of the software system.
9. In very rare cases it happens that this approach involves the matching of the patterns and automation of the whole testing process by implementing a static analyzer.
10. One peculiar drawback has been discovered for this kind of testing which is that this kind of testing sometimes may report a bug in some part of the software but actually there exists no such bug.
11. But still security testing at white box level using static analysis methods and techniques proves good for some software systems and applications.
12. Risk based testing calls for a lot of understanding of the whole software system.
13. After all, the product security is very much essential to the reputation of the company.
Posted by
Sunflower
at
3/06/2012 10:00:00 AM
0
comments
Labels: Application, Approach, Bugs, Defects, Errors, Functional, Levels, Logical, Risk based testing, Security, Security Testing, Software Systems, Software testing, Techniques, Tests, White box testing
|
| Subscribe by Email |
|
Thursday, September 8, 2011
How is program controlled in C?
Every program follows a control path. C program control constructs are conditionals and loops. Almost every program needs to go through some sort of decision making. Decision making processes are simulated in C using conditionals. We can state a conditional as a statement that instructs the compiler to execute a function or statement if a certain condition is proved true. Decision making is done on the basis of some logic. Logic is treated as arithmetic by C compiler. The value 0 stands for true and rest any other value stands for a false value. The most common conditionals are if-else statements, switch case statements and loops.
If-else statements are used for conditional branching. It starts with if followed by an expression in its parentheses. The enclosed expression is evaluated and if the condition proves out to be true the succeeding statement is executed. If the condition is false the succeeding statement is skipped. Break and continue statements are used in if else and switch case constructs. Break will cause the execution to jump out of the loop and execute the following immediate statements whereas continue statement causes the loop to execute again and again until the condition is proved false.
Switch case begins with keyword switch followed by a variable to be switched enclosed in a parentheses. The word case is used to begin each case followed by a variable for that case, then a colon and then by the statements to be executed. Statements will be executed until a break is found. Any of the above constructs can be nested. Now coming to the go to statement, with this goto statement you can jump in between anywhere in a program except you are not allowed to jump in a loop. Goto statements are mostly risky but if there’s a place in the program where a goto statement fits , feel free to use it. However you should not be used.
Let’s define the loops now. C has 3 types of loops namely the while loop, for loop and the do while loop. The “while loop” continues to execute till the condition proves to be false. It’s an entry controlled loop which means that the loop will execute only when the condition is met. In this loop the keyword while is followed by some expression in parentheses, followed by a compound statement enclosed in braces. After reaching at the end of the loop, the control goes back to the top and the condition is revaluated.
Do while loop is an exit controlled loop. The test condition is evaluated at the end only. So even if the condition is false the loop is executed once compared to the while loop which doesn’t allows execution even once if the condition is false. You can call the do while loop as a pos check loop. This is the main difference between the while loop and the do while loop. These loops can also be nested. Nesting is unlimited. The “for loop” is the easiest loop. All its loop controlled elements are gathered at one place while in other loops they are scattered everywhere in the program. In a for loop firstly the initialization expression is executed. Then, the test expression is evaluated. If it’s true, the body of the loop is executed. After the execution the update expression is implemented, the test expression is again evaluated. If it’s true the whole sequence is repeated. You should use a for loop hen you have to repeat a block of statements specific number of times. These are the tools that programs need to perform repetitive tasks and make decisions.
Posted by
Sunflower
at
9/08/2011 06:42:00 PM
0
comments
Labels: Branching, C, C Language, Compiler, Conditions, Constructs, Control, Logical, Loops, Paths, program, Program control, Statements
|
| Subscribe by Email |
|
Tuesday, September 6, 2011
What is Assignment and Logical Comparison in C...
An expression as we all know is composed of one or more operations. When the expression is terminated by a semi colon, it becomes a statement which is the small executable unit in any program. The assignment statements are used to assign a value to a variable. The assigned value can be a constant variable or an expression. An assignment statement can be written in general form as:
A=bcd;
Where A is a variable to whom we are assigning a value and bcd is the assigned value. The “=” sign is called assignment operator. Assignments can be chained together. The assigning operator “=” assigns the value to the left hand operand and returns the value of the assignment. Assignment statements are very much needed for variable initialization since variables are initialized using assignment statements. There are 2 ways to do this:
- Un-initialized variable
- Initialized variable
An un-initialized variable has to be initialized in separate statements whereas an initialized variable combines declaration and assignment in to one statement.
Examples are:
Int a;
a=3; ------------------------uninitialized variable
int a= 3; -------------------- initialized variable
Assignment also follows when you use dynamic initialization. Sometimes variables of different types are mixed with each other. It’s a very common and observed phenomenon. In such cases a type conversion takes place. Here also it follows from the principal of assignment statement that “the value of the right side of the expression or of the assignment is converted to the type of the variable on left side i.e., target variable. Both the sides of assignment should be compatible with each other for type conversion. When conversion takes place from smaller data type to a larger data type no data is lost. Precedence of operators while assigning values with an expression should always be kept in mind.
Some programs need the power of decision making or comparison. This is granted through logical expressions which are nothing but the statements resulting into a 0 (true) or 1 (false) value. These are a combination of constants, variables and logical and relational operators. Be careful that two or more variables and operators should not occur in continuation. A logical expression may contain just one signed or unsigned variable or a constant or it may have two or more also joined by varied relational and logical operators. Following are some valid logical operators: the logical OR operator (||), the logical AND operator (&&) and the logical NOT (!) operator. The OR operator combines 2 expressions as its operands. If either of its operand evaluates to true, the OR operator also evaluates to true. This operator is basically used for testing evaluating expressions. The AND operator combines 2 expressions into one and the operator evaluates to one if and only if both the operands evaluate to 1. The NOT operator works on a single operand since it is a unary operator. It is used to negate or reverse the truth value of the operand. It has a higher precedence than of the relational and logical operators. Therefore, this should be enclosed within parentheses. This operator is useful as a test for zero. OR and AND operators have lower precedence than relational operators. Relational operators are used to define relationships between variables. C provides 6 basic relational operators : < (less than), > (greater than), <= (less than or equal to), >= (greater than or equal to), == (equal to), and != (not equal to). Do not confuse the = and the == operators. “=” is assignment operator whereas “==” is relational equality operator.
Posted by
Sunflower
at
9/06/2011 11:40:00 AM
0
comments
Labels: Assignment, C, C Language, Comparisons, Constants, Conversions, Declaration, Executable, Expressions, Initialization, Logical, Logical comparison, Operations, Operators, Variables
|
| Subscribe by Email |
|
Monday, July 25, 2011
Designing Conventional Components- Graphical Design Notation and Tabular Design Notation
A set of constrained logical constructs that emphasize on maintenance of functional domain are used for designing conventional components. These logical constructs are sequence, condition, and repetition. Structured programming is a design technique that constrains logic flow to three constructs: sequence, condition, and repetition. These structured constructs help in reducing the complexity of the program and enhances readability, test ability and maintainability.
GRAPHICAL DESIGN NOTATION
- Activity diagram is a descendant of flowchart in which all elements of structured programming are represented.
- In a flowchart, each step in the process is represented by a different symbol and contains a short description of the process step.
- Structured programming constructs should make it easier to understand the design. If unnecessary complexity is introduced by using them without violation, it is better ti violate them.
- Dogmatic use of structured constructs introduces inefficiency.
TABULAR DESIGN NOTATION
- Decision tables translates actions and conditions into a tabular form.
- A decision table is used when a complex set of conditions and actions are encountered within a component.
- Decision table is divided into four quadrants. Upper left quadrant lists all conditions. Lower left quadrant lists all actions. Right hand quadrants form a matrix indicating condition combinations and corresponding actions
Posted by
Sunflower
at
7/25/2011 07:25:00 PM
0
comments
Labels: Component based development, Components, Conditions, Decision Tables, Flowchart, Graphical Design Notation, Logical, Repetitive, Sequences, Structured constructs, Tabular Design Notation
|
| Subscribe by Email |
|
Friday, April 22, 2011
Software Test Case Design Methods - Black Box Testing Methods
Black box testing focuses on:
- testing thefunctional aspect of the software.
- input conditions are derived that will test all functional requirements.
- set of test cases that finds incorrect or missing functions.
- interface errors.
- data structure errors.
- external database excess errors.
- performance errors.
- initialization and termination errors.
Black box techniques include:
- Graph based testing is a black-box testing technique that uses objects that are modeled in software and the relationships among these objects. Steps involved in designing test cases using graph based testing are:
STEP 1: Create a graph of software objects and identify the relationship of these objects.
STEP 2: Traverse the graph to define test cases.
- Equivalence Testing
A black box testing technique which divides the input domain into partitions or into sets of data from which test cases can be derived. These test cases are used to uncover errors. It makes use of equivalence classes which are sets of valid and invalid states that an input may be in.
- Boundary Value Testing
It is a black box testing method that uses the boundaries of the input domain to derive test cases. If input condition specifies range bounded by n and m, the test cases that can be derived use values n and m, just above n and m, just below n and m.
If input condition specifies number of values, the test cases that can be derived are use the minimum, use the maximum, just above and below minimum, just above and below maximum.
Posted by
Sunflower
at
4/22/2011 05:01:00 PM
0
comments
Labels: Approach, Black box testing, Boundary Value Testing, Design, Equivalence Testing, Graph based testing, Logical, Loops, Methods, Software, Software testing, Structure, Techniques, Test cases
|
| Subscribe by Email |
|
Monday, April 11, 2011
Software Test Case Design Methods - White Box Testing Methods
Software is tested in two ways:
- First approach is test the internal workings of software. It is also called white box testing.
- Second approach is to test the software as a whole, i.e., know how the software works and tests if it conforms to the specified functionality in the requirements. It is also called black box testing.
White Box Testing Techniques
It is a test case design technique that uses the internal control structure of the software component. It is also called glass box testing. It ensures that no logical errors, incorrect assumptions and typographical errors have been missed. The test cases that are included are testing all logical conditions, loops, independent paths, internal data structures. Techniques involved are:
- Basis Path Testing
It enables the test case designer to derive a logical complexity measure based on the procedural specification of a software component.
STEP 1: Use a procedural specification as input in deriving the basic set of execution path.
STEP 2: Draw the flow graph of the procedural specification.
STEP 3: Compute for the complexity of the code.
STEP 4: Determine the basic set of execution paths.
STEP 5: Document the test cases based on the identified execution path.
- Control Structure Testing
A white box testing technique that tests three types of program control - condition testing, loop testing and data flow testing.
Condition testing test the logical conditions contained in a procedural specification.
Looping testing is a method that focuses exclusively on the validity of iterative constructs or repetition.
Data Flow Testing method selects test paths of a program according to the locations of the definitions and uses of variables in the program.
Posted by
Sunflower
at
4/11/2011 11:21:00 AM
0
comments
Labels: Approach, Basis Path Testing, Control Structure Testing, Design, Logical, Loops, Methods, Software, Software testing, Structure, Techniques, Test cases, White box testing
|
| Subscribe by Email |
|